3.3 元组
Python的元组与列表类似,不同之处在于元组的元素不能修改(前面多次提到的字符串也是不能修改的)。创建元组的方法很简单:如果你使用逗号分隔了一些值,就会自动创建元组。
例如,我们如下输入:
>>> 1,2,3 (1, 2, 3) >>> 'hello','world' ('hello', 'world')
上面的操作用逗号分隔了一些值,结果输出的是元组。
我们经常使用圆括号将值括起来,例如:
>>> (1, 2, 3) (1, 2, 3) >>> ('hello', 'world') ('hello', 'world')
还可以创建空元组,操作如下:
>>> () ()
如果圆括号中不包含任何内容,就是一个空元组。
创建包含一个值的元组如何实现呢?可以进行如下尝试:
>>> (1) 1
输出结果不是元组,包含一个值的元组的实现方式有一些奇特,必须在括号中的元素后加一个逗号,例如:
>>> (1,) (1,)
由上面的示例看到,逗号很重要,只添加括号是没有用的。
下面我们介绍元组的相关操作。
3.3.1 tuple函数
tuple函数的功能和list函数基本上一样,都是以一个序列作为参数,并把它转换为元组。如果参数是元组,参数就会被原样返回,例如:
>>> tuple(['hello','world']) ('hello', 'world') >>> tuple('hello') ('h', 'e', 'l', 'l', 'o') >>> tuple(('hello','world')) #参数是元组 ('hello', 'world')
由上面的操作看到,tuple函数传入元组参数后,得到的返回值就是传入的参数。
3.3.2 元组的基本操作
和列表一样,元组也有一些基本操作,如访问元组、修改元组、删除元组、索引和截取等操作。当然,这里的修改、删除和截取等操作和列表的操作不太一样。
1. 访问元组
可以使用下标索引访问元组中的值,例如:
>>> mix = ('hello', 'world', 2015, 2016) >>> print ("mix[1] is: ", mix[1]) mix[1] is: world >>> num = (1, 2, 3, 4, 5, 6, 7 ) >>> print ("num[1:5] is: ", num[1:5]) num[1:5] is: (2, 3, 4, 5)
2. 修改元组
元组中的元素值不允许修改,但可以对元组进行连接组合,例如:
>>> field = ('hello', 'world') >>> num = (2015, 2016) >>> print ("合并结果为: ", field+num) 合并结果为: ('hello', 'world', 2015, 2016)
3. 删除元组
元组中的元素值不允许删除,但可以使用del语句删除整个元组,例如:
>>> field = ('hello', 'world') >>> del field >>> print('删除后的结果:',field) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'field' is not defined
以上实例的元组被删除后,输出变量会有异常信息,输出结果告诉我们field没有定义,即field已经不存在了。
4. 元组索引、截取
因为元组也是一个序列,所以可以访问元组中指定位置的元素,也可以截取索引中的一段元素,例如:
>>> field = ('hello', 'world', 'welcome') >>> field [2] 'welcome' >>> field [-2] 'world' >>> field [1:] ('world', 'welcome')
3.3.3 元组内置函数
Python元组提供了一些内置函数,如计算元素个数、返回最大值、返回最小值、列表转换等函数。
len(tuple)用于计算元组元素的个数。使用方式如下:
>>> tup = ('hello', 'world', 'welcome') >>> len(tup) 3
max(tuple)用于返回元组中元素的最大值。使用方式如下:
>>> tup = ('6', '3', '8') >>> max(tup) '8'
min(tuple)用于返回元组中元素的最小值。使用方式如下:
>>> tup = ('6', '3', '8') >>> min(tup) '3'
tuple(seq)用于将列表转换为元组。使用方式如下:
>>> field= ['hello', 'world', 'welcome'] >>> tup=tuple(field) >>> tup ('hello', 'world', 'welcome')
以上为Python中常见的一些元组的内置函数,大家可以自行操作其他函数进行尝试。