1 Python 支持多种复合数据类型
列表是python最常用的数据类型。
列表可将不同值组合在一起。
最常用的列表 ,是用方括号标注,逗号分隔的一组值。列表可以包含不同类型的元素,但一般情况下,各个元素的类型相同:
1. >>> squares = [1, 4, 9, 16, 25]
2. >>> squares
3. [1, 4, 9, 16, 25]
列表是 mutable 类型,其内容可以改变:
4. >>> cubes = [1, 8, 27, 65, 125] # 这里cubes[3]的值有点问题
5. >>> 4 ** 3 # 4的立方是64,而不是65!
6. 64
7. >>> cubes[3] = 64 # 替换错误的值
8.>>> cubes
9.[1, 8, 27, 64, 125]
2 支持切片
和字符串一样,列表也支持索引和切片:
>>> squares[0] # 按索引返回值
1
>>> squares[-1]
25
>>> squares[-3:] # 切片返回一个新列表
[9, 16, 25]
切片操作返回包含请求元素的新列表。以下切片操作会返回列表的 浅拷贝:
>>> squares[:]
[1, 4, 9, 16, 25]
为切片赋值可以改变列表大小,甚至清空整个列表:
1. >>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
2. >>> letters
3. ['a', 'b', 'c', 'd', 'e', 'f', 'g']
4. >>> # 替换一些值
5. >>> letters[2:5] = ['C', 'D', 'E']
6. >>> letters
7. ['a', 'b', 'C', 'D', 'E', 'f', 'g']
8. >>> # 现在删除它们
9. >>> letters[2:5] = []
10. >>> letters
11. ['a', 'b', 'f', 'g']
12. >>> # 通过用空列表替换所有元素来清除列表
13. >>> letters[:] = []
14. >>> letters
15. []
3 合并
列表还支持合并操作:
>>> squares + [36, 49, 64, 81, 100]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
4 append() 方法
可以在列表结尾添加新元素:
>>> cubes.append(216) # 添加6的立方
>>> cubes.append(7 ** 3) # 添加7的立方
>>> cubes
[1, 8, 27, 64, 125, 216, 343]
5 内置函数 len() 也支持列表:
1. >>> letters = ['a', 'b', 'c', 'd']
2. >>> len(letters)
3. 4