![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=1738868531-h6xVGRkRL0blbyB6Uz283slNxsLfq7kV-0-7990da90ed7a9d4f59a608be33f705ca)
图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=1738868531-AiYo1pwldph08FKDgeK8s05PNe4uK46Y-0-02f75538c7d96505157f5ff44991fe9e)
图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=1738868531-BVFdYVrO403rTLmwdBn4SP5K3r12JpxO-0-d0f695620b3d3cd0a0fa65e5ef1c1eb0)
图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=1738868531-l0PzW5uIK35VsPaAbYBif41qlwIN1yQD-0-768fd52bab1d770393d7a798ade37e85)
图3-32 运行结果
5. 组合元组
虽然元组的元素值不能修改,但是可以组合。例如,组合元组aa和元组bb为新元组cc:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P68_57120.jpg?sign=1738868531-SwDVHkf5XOnwis45uMWQMsyrSTp0S987-0-026eab7a151c56bef974d3a45b9c6f0f)
运行结果如图3-33所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P68_6157.jpg?sign=1738868531-73AfhqTpn7RoasHz86l0kjSiRTn8sxTn-0-098202e70182950ddff66e71f86e5152)
图3-33 运行结果
6. 删除整个元组
使用del语句可以删除整个元组。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P68_57119.jpg?sign=1738868531-phal80ktUFKe08OjLjo0Tkb1aIHaFg6K-0-410f5362d89d09ee7c6d0e0e23edd062)
运行结果如图3-34所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P68_6192.jpg?sign=1738868531-GEspCTMdDj2LVCbu9zqyfHoOfAreL2ZQ-0-4310406283323959be7da6f5b3d08ed4)
图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=1738868531-HcgeTIsMHawHoqNNGm0QlRaLQMq0jcQ2-0-85ec0dd3151d4687bcfe4fe0bb2f8914)
图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=1738868531-pmwrSf3sAVnhSP2NAn6kgQBjfzF9vJEQ-0-c714b8ec3acaaadf9835f3a675b14112)
图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=1738868531-IRyOsuff7UBDrtTlA2EM8cQXwGJZce38-0-2f7ff4b4b244f3a050c74a86f3b864ae)
图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=1738868531-093cOg6Q6JI5UF7Fm3c2Yz9sZBZxpUxm-0-600279a2133fb73058ba69aa96f07d9c)
图3-38 运行结果