关于元组 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]

 

posted @ 2018-07-26 11:12  一天一点进步  阅读(613)  评论(0编辑  收藏  举报