![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=1739261737-RA3Uld8GBlbJiwVJrjC4qsZ5KCBkLPCz-0-89e2ed2479c3e2066df1de80fe4d8e6b)
当tuple中只有一个元素时,在定义时要在第一个元素后加上一个“,”(英文逗号),表示这是一个元组,否则圆括号就会被当作运算符。
3.2.2 tuple查询数据
在Python命令行模式下运行以下代码:
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_20.jpg?sign=1739261737-lbs8Mw2JwyoMI6IsN7tP1jyrUdX4wk0K-0-c6356e85a93247d12bfca37c534e0605)
从这个例子中可以看出,tuple可以随意访问每个元素,但是一旦进行元素的修改,就会报错。
3.2.3 tuple拼接
与list类似,tuple也可以进行拼接。
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_22.jpg?sign=1739261737-wRHiFtg8wKFgANaCHYELcqr7Fpl1aC1E-0-62fd481393fb3b3bab358e16fc6312ef)
但需要注意的是,只能拼接成一个新的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=1739261737-gvAGoLN6JxL5FIUvTeCmXOjmgI7m2F0b-0-99921c9b1bea48196e298ade8f5d6c41)
3.2.5 tuple的常用方法
在Python命令行模式下运行以下代码。
可以用“in”判断某个元素是否在元组中:
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_25.jpg?sign=1739261737-WphrpJVDmxWAdT02CHz8VKmvHysIZH96-0-efa83f819fef20d99f2b706cf41f6dad)
在tuple中,使用count方法可以统计某个元素在tuple中的个数:
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_26.jpg?sign=1739261737-On67C7IkZIl5YcIq6n1Kf2V7dURToIAp-0-02763ef3406bb409525869ef7adb868f)
max函数和min函数的作用是,快速找到元组中的最大值和最小值:
![](https://epubservercos.yuewen.com/3BC464/16264452505768106/epubprivate/OEBPS/Images/txt003_27.jpg?sign=1739261737-v38TBvHJ2kJyIcCU0Llxn9pTNsFTERa5-0-834eb982f1d1b13461e955ed767972c1)