数值列表
- 使用 range() 函数生成数值列表
range(stop) -> range object
range(start, stop[, step]) -> range object
>>> numbers = list(range(6))
>>> print(numbers)
[0, 1, 2, 3, 4, 5]
>>> numbers = list(range(1, 6))
>>> numbers
[1, 2, 3, 4, 5]
>>> numbers = list(range(2, 6, 2))
>>> numbers
[2, 4]
1)未指定 start 的值时,列表的值从0开始
2)生成数值列表不包含 stop 的值
- 对数值列表进行统计计算
>>> digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
>>> min(digits)
0
>>> max(digits)
9
>>> sum(digits)
45
- 使用列表解析生成符合指定规则的数值列表
>>> squares = [value**2 for value in range(1, 11)]
>>> print(squares)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
列表切片
list_object[(start):(stop)]
>>> players = ['charles', 'martina', 'michael', 'florence', 'eli']
>>> print(players[0:3])
['charles', 'martina', 'michael']
>>> print(players[1:4])
['martina', 'michael', 'florence']
>>> print(players[:4])
['charles', 'martina', 'michael', 'florence']
>>> print(players[2:])
['michael', 'florence', 'eli']
【注】未指定 start 的值时,默认从列表第一位开始切片,未指定 stop 的值时,默认切片至列表最后一位。
列表切片同样支持负数索引:
>>> print(players[-3:])
['michael', 'florence', 'eli']
>>> print(players[:-3])
['charles', 'martina']
元组
定义:不可变的列表
区别于列表,元组是使用圆括号 () 来表示的
>>> dimensions = (200, 50)
>>> print(dimensions[0])
200
>>> print(dimensions)
(200, 50)
试图对元组中的元素进行修改将会引起 Python 报错:
>>> dimensions[0] = 250
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment