需要对列表中的每个元素都执行相同的操作时,可使用Python中的for 循环。
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(magician)
for value in range(1,5):
print(value)
要创建数字列表,可使用函数list() 将range() 的结果直接转换为列表。如果将range() 作为list() 的参数,输出将为一个数字列表。
numbers = list(range(1,6))
print(numbers)
使用函数range() 时,还可指定步长。例如,下面的代码打印1~10内的偶数:
even_numbers = list(range(2,11,2))
print(even_numbers)
如何创建一个列表,其中包含前10个整数(即1~10)的平方呢?在Python中,两个星号(** )表示乘方运算。
squares = []
for value in range(1,11):
square = value**2
squares.append(square)
print(squares)
有几个专门用于处理数字列表的Python函数。例如,你可以轻松地找出数字列表的最大值、最小值和总和:
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(min(digits))
print(max(digits))
print(sum(digits))
列表解析 将for 循环和创建新元素的代码合并成一行,并自动 附加新元素。
squares = [value**2 for value in range(1,11)]
print(squares)
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[0:3])
如果你没有指定第一个索引,Python将自动从列表开头开始。同理,也可以不指定第二个索引。
如果要遍历列表的部分元素,可在for 循环中使用切片。
players = ['charles', 'martina', 'michael', 'florence', 'eli']
for player in players[:3]:
print(player.title())
要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:] )。这让Python创建一个始于第一个元素,终止于最后一个元素的切片,即复制整个 列表。
my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods[:]
下例演示了在不使用切片的情况下复制列表的情况:
my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods
这里将my_foods 赋给friend_foods ,而不是将my_foods 的副本存储到friend_foods。这种语法实际上是让Python将新变量friend_foods 关联到包含 在my_foods 中的列表,因此这两个变量都指向同一个列表。
Python将不能修改的值称为不可变的 ,而不可变的列表被称为元组 。
dimensions = (200, 50)
print(dimensions[0])
print(dimensions[1])
dimensions = (200, 50)
for dimension in dimensions:
print(dimension)
虽然不能修改元组的元素,但可以给存储元组的变量赋值。因此,如果要修改前述矩形的尺寸,可重新定义整个元组
dimensions = (200, 50)
dimensions = (400, 100)