Python 元组和列表很像,也是一个包含多个元素的集合。与列表不同的是不能对元组中数据进行修改,如不能为元组添加数据,也不能删除元组中的某个元素。元组最常用的用法是作为函数的返回值。
元组的最简单表示法是“(元素1,元素2,…)”。这个和列表的表示方法类似,只是将方括号变成圆括号。下面是这种最简单的表示法的例子。
>>> tuple1 = (1, 2, 3) >>> type(tuple1) <type 'tuple'>
但是对于空的元组,需要使用下面的表示法:
>>> tuple1 = tuple() >>> type(tuple1) <type 'tuple'> >>> len(tuple1) 0
对于仅包含一个元素的元组,需要使用下面的方法:
>>> tuple1 = tuple([1]) >>> type(tuple1) <type 'tuple'> >>> len(tuple1) 1
或者使用下面的方法:
>>> tuple1 = (1,) >>> type(tuple1) <type 'tuple'> >>> len(tuple1) 1
但是不能使用下面的方式:
>>> tuple1 = (1) # (1)等效于1 >>> type(tuple1) # 可以看到类型是整型int而不是元组tuple <type 'int'>
元组的接口函数比列表少很多,常用的只有两个:
这两个接口函数的用法和列表是一样的。
如果没有出现过,返回 0,否则返回一个正整数表示该值在元组中出现的次数。
>>> a = (1, 3, 5, 7) # 定义了元组a,包含4个元素 >>> type(a) # 查看a的类型,这是Python 3中的返回值 <class 'tuple'> >>> a.count(1) # 1在a中出现了1次 1 >>> a.count(2) # 2在a中出现了0次 0
如果指定的值在元组中不存在,抛出异常 ValueError,否则返回该值在元组中第一次出现的位置。注意,元组中第一个元素的位置是 0,第二个元素的位置是 1,以此类推。
>>> a = (100, 90, 80, 90, 80, 70) # 定义元组a >>> len(a) # a包含6个元素 6 >>> a.count(90) # 其包含2个90 2 >>> a.index(90) # 第一个90出现的位置是1,就是第二个元素 1 >>> a.index(10) # 10没有被a包含,所以index()会抛出异常 Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: tuple.index(x): x not in tuple