遍历整个列表
注意 for 语句后面的冒号: 以及后面的缩进。
motorcycles = ['bmw', 'audi', 'toyota', 'subaru']for motorcycle in motorcycles:print(motorcycle)
创建数值列表
使用函数 range()
函数 range() 可以生成一系列数,但是不是列表。
当有两个参数时,范围不包括第二个值。
当只有一个参数时,将从 0 开始。
for value in range(1, 4):print(value)# 1# 2# 3
for value in range(4):print(value)# 0# 1# 2# 3
当有三个参数时,第三个参数为步长。
for value in range(1, 10, 2):print(value)# 1# 3# 5# 7# 9
使用 range() 创建数字列表
可使用函数
list()将range()的结果直接转换为列表。numbers = list(range(1, 6))print(numbers) # [1, 2, 3, 4, 5]
可先创建空列表,再遍历
range(),将值添加到列表中
在 Python 中,两个星号(**) 表示乘方运算。
squares = []for value in range(1, 11):squares.append(value ** 2)print(squares) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
对数字列表执行简单的统计计算
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]print(min(digits)) # 0print(max(digits)) # 9print(sum(digits)) # 45
列表解析
squares = [value ** 2 for value in range(1, 11)]print(squares) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
使用列表的一部分
切片
在第二个索引位置前停止
如果没有指定第一个索引,将自动从列表开头开始
如果没有指定第二个索引,将到末尾
如果两个都省略,则返回整个列表
players = ['charles', 'martina', 'michael', 'florence', 'eli']print(players[1: 3]) # ['martina', 'michael']print(players[: 3]) # ['charles', 'martina', 'michael']print(players[1:]) # ['martina', 'michael', 'florence', 'eli']
可以为负数
players = ['charles', 'martina', 'michael', 'florence', 'eli']# 输出倒数三个元素print(players[-3: ]) # ['michael', 'florence', 'eli']
还可以再加个冒号,指定第三个值。这个值告诉 Python 每隔多少元素提取一个。
默认且最小是 1
players = ['charles', 'martina', 'michael', 'florence', 'eli']print(players[-3: :2]) # ['michael', 'eli']
遍历切片
players = ['charles', 'martina', 'michael', 'florence', 'eli']for player in players[:3]:print(player.title())'''CharlesMartinaMichael'''
复制列表
生成一个包含全部元素的切片
my_foods = ['pizza', 'coffee']friend_foods = my_foods[:]my_foods.append('ice cream')print(my_foods) # ['pizza', 'coffee', 'ice cream']print(friend_foods) # ['pizza', 'coffee']
元组
元组的元素不可变,修改程序会报错。
dimensions = (200, 50)dimensions[0] = 200 # TypeError: 'tuple' object does not support item assignment
可以给存储元组的变量重新赋值。
和列表类似,但是使用圆括号标识,严格说是使用逗号标识的,逗号不能省略,当定义只有一个元素的元组时,必须在这个元素后面加上逗号。
dimensions = (200, 500)print(type(dimensions)) # <type 'tuple'>dimensions = (200,)print(type(dimensions)) # <type 'tuple'>dimensions = 200, 50print(type(dimensions)) # <type 'tuple'>dimensions = 200,print(type(dimensions)) # <type 'tuple'>
可以使用索引访问。
dimensions = (200,)print(dimensions[0]) # 200
像列表一样,可以使用 for 循环遍历
dimensions = (200, 50)for dimension in dimensions:print(dimension)# 200# 50
