![Python 3.7从入门到精通(视频教学版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/212/31476212/b_31476212.jpg)
3.2 元组的基本操作
与列表相比,元组对象不能修改,同时元组使用小括号、列表使用方括号。元组创建很简单,只需要在括号中添加元素并使用逗号隔开即可。
3.2.1 元组对象的常用操作
上一章已经讲过创建元组的方法,这里继续学习元组的常用操作方法。
1. 创建只有一个元素的元组
如果创建的元组对象只有一个元素,就必须在元素之后加上逗号(,),否则Python会认为此元素是要设置给变量的值。
>>>a = (100,) >>>a >>>a = (100) >>>a
运行结果如图3-29所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P67_6007.jpg?sign=1738926628-CRyPdeYPf5f50UlYP81srnOElSd3yWXq-0-814a621a2e1539d27dd9384872aa2fbf)
图3-29 运行结果
2. 元组的对象值不能修改
在元组中,不可以修改元组对象内的元素值,否则会提示错误。
>>>aa = (100, 200,300,400) #以下修改元组元素操作是非法的。 >>>aa[1] = 500
运行结果如图3-30所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P67_6037.jpg?sign=1738926628-AVCiZV4hS7UFw7KvIGJhGbdtgl6OEmKy-0-a74253cfb9ef98d4a6619658cc9f3d13)
图3-30 运行结果
3. 删除元组内的对象
虽然元组内的元素值不能修改,但是可以删除,从而达到更新元组对象的效果。
例如,在下面的示例中删除元组中的a[1]:
>>>a = (100,200,300,400) >>>a = a[0],a[2],a[3] >>>a
运行结果如图3-31所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P67_6065.jpg?sign=1738926628-9SEnBcWg1LRb7mmHtu71mGVby45uCfRV-0-03b4aa70f0c85b9b353755a7843569b3)
图3-31 运行结果
4. 获取元组对象的元素值
元组对象支持使用索引值的方式来返回元素值。
>>>a = (100,200,300,400) >>>a[0] >>>a[1] >>>a[2] >>>a[3]
运行结果如图3-32所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P68_6116.jpg?sign=1738926628-luLBwn6P3ARwL3pwyGuC60Z7audRyPqA-0-2d51f3ae14c982059674087ac2829701)
图3-32 运行结果
5. 组合元组
虽然元组的元素值不能修改,但是可以组合。例如,组合元组aa和元组bb为新元组cc:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P68_57120.jpg?sign=1738926628-kHN50MTPUPdONp8wiln5FQbaXsaAFCyl-0-4706e3413266e3ecf50383ba3c6c163e)
运行结果如图3-33所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P68_6157.jpg?sign=1738926628-BU67iufpWhx2K8ftPld1d0hLRhV1bGGz-0-01cedb1237f68ee57165635205b9be4b)
图3-33 运行结果
6. 删除整个元组
使用del语句可以删除整个元组。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P68_57119.jpg?sign=1738926628-Emz6e42n5EAwszRwlyEDidBAVAtWNBJd-0-4ae42f7c69a1499442774a66a3e49a23)
运行结果如图3-34所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P68_6192.jpg?sign=1738926628-lgHMw26AxSANJmu4MFp78LNT69slgQNG-0-875f40977ff8161498c8d9626352c3e0)
图3-34 运行结果
从报错信息可以看出,元组已经被删除,再次访问该元组时会提示错误信息。
3.2.2 元组的内置函数
元组的内置函数包括len()、max()、min()和tuple()。下面将分别讲述这几个内置函数的使用方法。
1. len()函数
len()函数返回元组的长度。例如:
>>>la = (100,200,300,400,500,600,700,800,900) >>>len(la)
运行结果如图3-35所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P69_6226.jpg?sign=1738926628-KeT0j1ZkqoIx5nRAnVGYAO3lEMfXLKdT-0-fb220df8a54793af1204a7aac93dac03)
图3-35 运行结果
2. max()函数
max()函数返回元组或列表元素中的最大值。例如:
>>>aa=(100,200,300,400,500,600,700,800,900) >>>max(aa) >>>bb=['a', 'c', 'd', 'e', 'f', 'g', 'h', 'o', 'p'] >>>max(bb)
运行结果如图3-36所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P69_6260.jpg?sign=1738926628-V3IE5Ket6iYgfuRqKhpASJDeq4LxIguW-0-91de8bef70e16e284f9ec30838b36dcc)
图3-36 运行结果
注意 元组中的元素数据类型必须一致才能使用max()函数,否则会出错。
3. min()函数
min()函数返回元组或列表元素中的最小值。例如:
>>>aa=(100,200,300,400,500,600,700,800,900) >>>min(aa) >>>bb=['a', 'c', 'd', 'e', 'f', 'g', 'h', 'o', 'p'] >>>min(bb)
运行结果如图3-37所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P70_6306.jpg?sign=1738926628-9Yd20NQqLAf2Hu60jqDIdSNyEzJ14xXs-0-e55e5b4533965c904c2d3b179c979b39)
图3-37 运行结果
注意 元组中的元素数据类型必须一致才能使用min()函数,否则会出错。
4. sum()函数
sum()函数返回元组中所有元素的和。
>>>aa=(100,200,300,400,500,600,700,800,900) >>>sum(aa)
运行结果如图3-38所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P70_6329.jpg?sign=1738926628-jV2nVZLLW1dC6RZMSFpQgZlIS0MwS8vu-0-d654a9aea6e699c1187f6469e488fd85)
图3-38 运行结果