元组的定义
python元组(tuple)与列表类似,不同之处在于元组的元素不可更改。元组用() 定义 ,用于存储 ⼀串数据,元素 之间使用, 分隔 。元组的索引 从 0 开始 。
之所以有了列表还引入元组,是因为元组的不可变性提供了某种一致性,它可确保元组在程序中不会被另一个引用修改,列表就没有这样的保证了。(元组和其他不可变类型可以理解为其他语言的常量声明)
# 定义元组
info_tuple = ("Scrat", 18, 1.75)
# 取出元素的值
print(info_tuple[0]) # 输出:Scrat
元组中只包含⼀个元素 时,需要在元素后⾯添加逗号以区分元组和简单的表达式。
- info_tuple = (50, )
元组常用操作
Tuple (元组)与列表类似,不同之处在于元组的 元素不能修改
- info_tuple = ("Scrat", 18, 1.75)
- info_tuple[0] = "lisi" # 程序报错
1 查询
- 元组[索引] 根据索引取值,索引不存在会报错
- 元组.index(数据) 根据值查询索引,返回⾸次出现时的索引,没有查到会报错
- 元组.count(数据) 数据在元组中出现的次数
- len(列表) 元组⻓度
- if 数据 in 元组: 检查元组中是否包含某元素
2 遍历
- for 元素 in 元组: 取出元组中的每个元素
应⽤场景
作为⾃动组包的默认类型
info = 10, 20
print(type(info)) # 输出类型为 tuple
# 交换变量的值
a = 10
b = 20
a, b = b, a # 先⾃动组包,后⾃动解包
格式字符串,格式化字符串后⾯的 () 本质上就是⼀个元组
info = ("Scrat", 18)
print("%s 的年龄是 %d" % info)
让列表不可以被修改,以保护数据安全
# 元组和列表之间的转换
# 使⽤ `tuple` 函数 把列表转换成元组
list1 = [10, 11]
tuple1 = tuple(list1)
# 使⽤ `list` 函数 把元组转换成列表
# list1 = list(tuple1)
元组运算符
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
Python 表达式 | 结果 | 描述 |
---|---|---|
len((1, 2, 3)) | 3 | 计算元素个数 |
(1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | 连接 |
('Hi!',) * 4 | ('Hi!', 'Hi!', 'Hi!', 'Hi!') | 复制 |
3 in (1, 2, 3) | True | 元素是否存在 |
for x in (1, 2, 3): print x, | 1 2 3 | 迭代 |
元组索引,截取
因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示:
元组:
L = ('spam', 'Spam', 'SPAM!')
Python 表达式 | 结果 | 描述 |
---|---|---|
L[2] | 'SPAM!' | 读取第三个元素 |
L[-2] | 'Spam' | 反向读取,读取倒数第二个元素 |
L[1:] | ('Spam', 'SPAM!') | 截取元素 |
元组内置函数
Python元组包含了以下内置函数
序号 | 方法及描述 |
---|---|
1 | cmp(tuple1, tuple2) 比较两个元组元素。 |
2 | len(tuple) 计算元组元素个数。 |
3 | max(tuple) 返回元组中元素最大值。 |
4 | min(tuple) 返回元组中元素最小值。 |
5 | tuple(seq)
|
更多:Python目录