数字运算符:加(+)减(-)乘(*)除(/)乘方(**)
函数str():让python将非字符串值转换为字符串:
age = 23
message = "Happy " + str(age) + "rd Birthday!"
print(message)
列表
列表是由一系列按特定顺序排列的元素组成,可将任意东西加入列表中
- 在Python中,用方括号([ ] )来表示列表,并用逗号来分隔其中的元素
- 访问列表元素:
bicycles = ['trek', 'cannondale', 'redline', 'specialized'] ❶
print(bicycles[0])
- 列表的索引从0开始
- Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1 ,可让Python返回最后一个列表元素
- 修改添加或删除元素:
motorcycles[0] = 'ducati'
print(motorcycles)
-
在列表中添加新元素
在列表末尾添加元素:motorcycles.append(‘ducati’) -
在列表中插入元素
使用方法insert() 可在列表的任何位置添加新元素。为此,你需要指定新元素的索引和值。
motorcycles.insert(0, ‘ducati’) #在0位置插入‘ducati’ -
从列表中删除元素
使用del 语句删除元素:del motorcycles[0]
使用del 可删除任何位置处的列表元素,条件是知道其索引
使用del 语句将值从列表中删除后,你就无法再访问它了。
有时候,你要将元素从列表中删除,并接着使用它的值。
使用方法pop() 删除元素,方法pop() 可删除列表末尾的元素,并让你能够接着使用它。术语弹出 (pop)源自这样的类比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
popped_motorcycle = motorcycles.pop()
print(motorcycles)
print(popped_motorcycle)
实际上,你可以使用pop() 来删除列表中任何位置的元素,只需在括号中指定要删除的元素的索引即可。
如果你不确定该使用del 语句还是pop() 方法,下面是一个简单的判断标准:如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del 语句;如果你要在删除元素后还能继续使用它,就使用方法pop()
根据值删除元素:有时候,你不知道要从列表中删除的值所处的位置。如果你只知道要删除的元素的值,可使用方法remove() 。
motorcycles.remove(‘ducati’)
方法remove() 只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。
9. 组织列表
在你创建的列表中,元素的排列顺序常常是无法预测的,因为你并非总能控制用户提供数据的顺序。这虽然在大多数情况下都是不可避免的,但你经常需要以特定的顺序呈现信息。有时候,你希望保留列表元素最初的排列顺序,而有时候又需要调整排列顺序。Python提供了很多组织列表的方式,可根据具体情况选用。
使用方法sort() 对列表进行永久性排序:默认由小到大排序,如果需要由大到小,需要使reverse=True:cars.sort(reverse=True)
使用函数sorted() 对列表进行临时排序:要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数sorted() 。函数sorted() 让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。调用函数sorted() 后,列表元素的排列顺序并没有变。如果你要按与字母顺序相反的顺序显示列表,也可向函数sorted() 传递参数reverse=True 。
-
倒着打印列表
cars.reverse()
reverse() 不是指按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序:
方法reverse() 永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此只需对列表再次调用reverse() 即可。 -
确定列表的长度
使用函数len() 可快速获悉列表的长度。
注意 Python计算列表元素数时从1开始,因此确定列表长度时,你应该不会遇到差一错误。但是索引是从0开始
操作列表
1.遍历整个列表
你经常需要遍历列表的所有元素,对每个元素执行相同的操作。
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(magician)
编写for 循环时,对于用于存储列表中每个值的临时变量,可指定任何名称。然而,选择描述单个列表元素的有意义的名称大有帮助。如:
for cat in cats:
for dog in dogs:
for item in list_of_items:
这些命名约定有助于你明白for 循环中将对每个元素执行的操作。使用单数和复数式名称,可帮助你判断代码段处理的是单个列表元素还是整个列表。
创建数值列表
1.Python函数range() 让你能够轻松地生成一系列的数字。
for value in range(1,5):
print(value) #打印1-4
2.使用range() 创建数字列表
要创建数字列表,可使用函数list() 将range() 的结果直接转换为列表。如果将range() 作为list() 的参数,输出将为一个数字列表。
numbers = list(range(1,6))
使用函数range() 时,还可指定步长,range(首,尾,步长)
使用函数range() 几乎能够创建任何需要的数字集
对数字列表执行简单的统计计算
>>> digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
>>> min(digits)
0
>>> max(digits)
9
>>> sum(digits)
45
列表解析
列表解析:将for 循环和创建新元素的代码合并成一行,并自动附加新元素
squares = [value**2 for value in range(1,11)]
print(squares)
要使用这种语法,首先指定一个描述性的列表名,如squares ;然后,指定一个左方括号,并定义一个表达式,用于生成你要存储到列表中的值。在这个示例中,表达式为value2 ,它计算平方值。接下来,编写一个for 循环,用于给表达式提供值,再加上右方括号。在这个示例中,for 循环为for value in range(1,11) ,它将值1~10提供给表达式value2 。请注意,这里的for 语句末尾没有冒号。
结果:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
使用列表的一部分
1.切片
要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与函数range() 一样,Python在到达你指定的第二个索引前面的元素后停止。要输出列表中的前三个元素,需要指定索引0~3,这将输出分别为0 、1 和2 的元素。
你可以生成列表的任何子集,例如,如果你要提取列表的第2~4个元素,可将起始索引指定为1 ,并将终止索引指定为4 :
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[1:4])
如果你没有指定第一个索引,Python将自动从列表开头开始:
要让切片终止于列表末尾,也可使用类似的语法。例如,如果要提取从第3个元素到列表末尾的所有元素,可将起始索引指定为2 ,并省略终止索引。
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[2:])
无论列表多长,这种语法都能够让你输出从特定位置到列表末尾的所有元素。本书前面说过,负数索引返回离列表末尾相应距离的元素,因此你可以输出列表末尾的任何切片。
例如,如果你要输出名单上的最后三名队员,可使用切片players[-3:]
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[-3:])
上述代码打印最后三名队员的名字,即便队员名单的长度发生变化,也依然如此。
2.遍历切片
如果要遍历列表的部分元素,可在for 循环中使用切片。在下面的示例中,我们遍历前三名队员,并打印他们的名字:
players = [‘charles’, ‘martina’, ‘michael’, ‘florence’, ‘eli’]
print(“Here are the first three players on my team:”)
for player in players[:3]: #只遍历前三名队员
print(player.title())
3.复制列表
要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:] )。这让Python创建一个始于第一个元素,终止于最后一个元素的切片,即复制整个列表。
注意:必须要这样复制列表,不可以直接用等号。