![Python基础视频教程](https://wfqqreader-1252317822.image.myqcloud.com/cover/276/29126276/b_29126276.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.2 tuple
tuple(元组)和list很像,只不过tuple是不可变的容器。什么是不可变容器呢?就是在声明一个tuple之后,里面的元素无法改变,无法增加、删除、修改。这就像在考场,在交卷的那一刻,所有的答案都已经定格,无法再修改。
3.2.1 tuple的定义
与list不同的是,tuple的定义用的是圆括号而非方括号。
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_19.jpg?sign=1738979590-n0SkHO8z11jbX8llqFNNjpCqp7NZR56N-0-688a11afa7f451f9924ca6fdd8ffddc0)
当tuple中只有一个元素时,在定义时要在第一个元素后加上一个“,”(英文逗号),表示这是一个元组,否则圆括号就会被当作运算符。
3.2.2 tuple查询数据
在Python命令行模式下运行以下代码:
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_20.jpg?sign=1738979590-yzmjsZWpypDLXROMHNtl1MwOFll87VTr-0-cbe924fd70faedd784095aa19eb8bbd9)
从这个例子中可以看出,tuple可以随意访问每个元素,但是一旦进行元素的修改,就会报错。
3.2.3 tuple拼接
与list类似,tuple也可以进行拼接。
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_22.jpg?sign=1738979590-hxzHAtjDeDvBM26UY9LWtWknQCQq3v7L-0-c995688d43a1eab3fa4882522bde20ab)
但需要注意的是,只能拼接成一个新的tuple,不能修改已经存在的tuple。在这个例子中,tupe_a和tuple_b并没有被修改,只是拼接成了一个新的tuple_c。
3.2.4 tuple切片
tuple同样支持切片查询,其规则和list的切片一样,只不过list切出来的是一个子list,而tuple切出来的是一个子tuple。在Python命令行模式下运行以下代码:
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_23.jpg?sign=1738979590-DNtbBtYuffBe8rbGVo4CKeU43WUbeaDj-0-928da25325f8af57019f904f93905710)
3.2.5 tuple的常用方法
在Python命令行模式下运行以下代码。
可以用“in”判断某个元素是否在元组中:
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_25.jpg?sign=1738979590-3356VDIr2yqJP4YNa0kX4kObKF8QBZGL-0-8b36957544c5d91e55ab763a28f00289)
在tuple中,使用count方法可以统计某个元素在tuple中的个数:
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_26.jpg?sign=1738979590-2JRg531BdKBIUUXoemQgpgTlYrQO9jAZ-0-3d26c2fd12c9ecb4331e44e17018d29d)
max函数和min函数的作用是,快速找到元组中的最大值和最小值:
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_27.jpg?sign=1738979590-3nFkFmyzsQOSZ9OYIFsfkHUSLZG7DUow-0-14b56eafb54c8f7a0673db81ca6658f4)