
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.2 tuple
tuple(元组)和list很像,只不过tuple是不可变的容器。什么是不可变容器呢?就是在声明一个tuple之后,里面的元素无法改变,无法增加、删除、修改。这就像在考场,在交卷的那一刻,所有的答案都已经定格,无法再修改。
3.2.1 tuple的定义
与list不同的是,tuple的定义用的是圆括号而非方括号。

当tuple中只有一个元素时,在定义时要在第一个元素后加上一个“,”(英文逗号),表示这是一个元组,否则圆括号就会被当作运算符。
3.2.2 tuple查询数据
在Python命令行模式下运行以下代码:

从这个例子中可以看出,tuple可以随意访问每个元素,但是一旦进行元素的修改,就会报错。
3.2.3 tuple拼接
与list类似,tuple也可以进行拼接。

但需要注意的是,只能拼接成一个新的tuple,不能修改已经存在的tuple。在这个例子中,tupe_a和tuple_b并没有被修改,只是拼接成了一个新的tuple_c。
3.2.4 tuple切片
tuple同样支持切片查询,其规则和list的切片一样,只不过list切出来的是一个子list,而tuple切出来的是一个子tuple。在Python命令行模式下运行以下代码:

3.2.5 tuple的常用方法
在Python命令行模式下运行以下代码。
可以用“in”判断某个元素是否在元组中:

在tuple中,使用count方法可以统计某个元素在tuple中的个数:

max函数和min函数的作用是,快速找到元组中的最大值和最小值:
