关于元组 tuple
1、元组与列表非常相似,最大的差别是不能修改元素内容
创建:
tuple1 = ('china', 'english', 1, 2) tuple2 = 1,2,3
其他序列(列表和字符串)的操作都可用于元组,除了那些会改变元素的列表运算符
- + 和 * 运算符同样适用于元组
- 分片操作同样适用于元组
- 成员操作in和for循环同样适用于元组
- 长度len、最大max和最小min同样适用于元组
没有任何的操作能更改元组。例如append,extend,insert,remove,pop,reverse和sort不能用于元组!
2、元组与列表的转换
元组和列表之间转换很常见,见下例,并说明为何sort方法(适用于可变对象的方法)可用于可变对象(如列表),但不可用于元组。记住:sort方法改变了对象本身,因此,它仅适用于可变对象,如列表。sorted函数能对不可变对象排序,因为它返回排序后的对象,而不是改变对象本身,从sorted返回的对象类型是什么?是列表。
>>> list1=[8,4,2,6]
>>> tuple1=tuple(list1) #convert from list to tu>>> t (8, 4, 2, 6)
>>> tuple1.sort() --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-4-0d703b2019c0> in <module>() ----> 1 tuple1.sort() AttributeError: 'tuple' object has no attribute 'sort'>>> temp=sorted(tuple1) #sorted accepts an immutable object >>> type(temp) list >>> temp [2, 4, 6, 8] >>> list2=list(tuple1) >>> list2 [8, 4, 2, 6]