1. 元组
元组既能像列表那样同时容纳多种类型的对象,也拥有字符串不可变的特性。
2. 元组和列表的不同点
- 列表是使用方括号,元组则是圆括号(也可以不带圆括号)
- 列表中的元素可以被修改,而元组不行
- 列表中涉及到修改元素的方法元组均不支持
- 列表的推导式叫列表推导式,元组的 “推导式” 叫生成器表达式
3. 元组和列表的共同点
- 都可以通过下标获取元素
- 都支持切片操作
- 都支持 count() 方法和 index() 方法
- 都支持拼接(+)和重复(*)运算符
- 都支持嵌套
- 都支持迭代
元组只有一个元素时,
x = (520,)
x = 520,
4. 打包和解包
生成一个元组我们有时候也称之为元组的打包:
- >>> t = (123, "FishC", 3.14)
复制代码
将它们一次性赋值给三个变量名的行为,我们称之为解包:
>>> x, y, z = t
- >>> x
- 123
- >>> y
- 'FishC'
- >>> z
- 3.14
元组中的元素虽然是不可变的,但如果元组中的元素是指向一个可变的列表,那么我们依然是可以修改列表中的内容的。
- >>> s = [1, 2, 3]
- >>> t = [4, 5, 6]
- >>> w = (s, t)
- >>> w
- ([1, 2, 3], [4, 5, 6])
- >>> w[0][0] = 0
- >>> w
- ([0, 2, 3], [4, 5, 6])