在本章中,你将学习如何遍历整个列表、使用列表的一部分、元组。
操作列表
1.遍历整个列表
遍历列表元素时,选择描述单个列表元素的有意义的名称会是一个不错的选择。
1 2 3 4 5 6 7
| magicians = ['alice', 'david', 'carolina'] for magician in magicians: print(magician)
alice david carolina
|
2.创建数值列表
2.1使用函数range()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| for value in range(1,5): print(value)
1 2 3 4
numbers = list(range(1,6)) print(numbers)
even_numbers = list(range(2,11,2)) print(even_numbers)
chars = list("Hello World")
|
2.2对数字列表进行简单的统计计算
1 2 3 4 5 6 7
| >>> digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] >>> min(digits) 0 >>> max(digits) 9 >>> sum(digits) 45
|
2.3列表解析
列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。
1 2 3
| squares = [value**2 for value in range(1,11)] print(squares)
|
3.使用列表的一部分
3.1切片
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| players = ['charles', 'martina', 'michael', 'florence', 'eli'] print(players[1:3]) print(players[:4]) print(players[2:]) print(players[-3:])
for player in players[:3]: print(player.upper())
CHARLES MARTINA MICHAEL
numbers = list(range(10)) print(numbers[::2]) print(numbers[::-1])
a, b, *c = numbers print(a) print(b) print(c)
|
3.2复制
正确的复制:
1 2 3 4 5 6 7 8
| my_foods = ['pizza', 'falafel', 'carrot cake'] friend_foods = my_foods[:] my_foods.append('cannoli') print("my_foods: ", my_foods)
print("friend_foods: ", friend_foods)
|
错误的复制(并没有复制列表,而是引用了同一个列表):
1 2 3 4 5 6 7 8
| my_foods = ['pizza', 'falafel', 'carrot cake'] friend_foods = my_foods my_foods.append('cannoli') print("my_foods: ", my_foods)
print("friend_foods: ", friend_foods)
|
可以看到直接赋值,即使只是修改my_foods,friend_foods仍会跟my_foods保持一致。
4.元组
列表非常适合用于存储在程序运行期间可能变化的数据集。但有时候需要存储不能改变的元素,元组可以满足这种需求,不可变的列表称为元组。
1 2 3 4 5 6 7 8 9
| dimensions = (200, 50) print(dimensions[0]) print(dimensions[1])
print("Original ", dimensions)
dimensions = (400, 100, 50) print("Modified ", dimensions)
|