温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

列表list和元组tuple的区别

发布时间:2020-04-09 15:16:49 来源:网络 阅读:1110 作者:superloong 栏目:编程语言

Python有两个非常相似的集合式的数据类型,分别是list和tuple,定义形式常见的说法是数组。

tuple通过小括号( )定义,定义后无法编辑元素内容(即不可变),而list通过中括号[ ]定义,其元素内容可以编辑(即可变),编辑动作包含删除pop( )、末尾追加append( )、插入insert( ).

可变的list

>>> name=['cong','rick','long']
>>> name[-2]     #等同于name[1]
'rick'
>>> name.append('tony')
>>> name.insert(0,'bob')      #在第一个位置即索引0处插入bob
>>> name.insert(2,'Jam')      
>>> name
['bob', 'cong', 'Jam', 'rick', 'long', 'tony']
>>> name.pop()      #删除最后的元素
'tony'
>>> name.pop(0)     #删除第一个元素
'bob'
>>> name
['cong', 'Jam', 'rick', 'long']

不可变的tuple

>>> month=('Jan','Feb','Mar')
>>> len(month)
3
>>> month
('Jan', 'Feb', 'Mar')
>>> month[0]
'Jan'
>>> month[-1]
'Mar'
>>> month.appnd('Apr')    #编辑元素内容会报错
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'appnd'

若要编辑通过tuple定义的元素,可先转换为list再编辑:

>>> month_1=list(month)      #转换为list
>>> month_1
['Jan', 'Feb', 'Mar']
>>> month_1.append('Apr')    #可追加
>>> month_1
['Jan', 'Feb', 'Mar', 'Apr']         
>>> month
('Jan', 'Feb', 'Mar')
>>> month=tuple(month_1)     #转回tuple
>>> month
('Jan', 'Feb', 'Mar', 'Apr') 
做个 “可变的”tuple
>>> A= ('a', 'b', ['C', 'D'])
>>> A[2]
['C', 'D']
>>> len(A)
3
>>> A[2][0]
'C'
>>> A[2][0]='GG'
>>> A[2][0]='MM'
>>> A
('a', 'b', ['MM', 'D'])
>>> A[2][0]='GG'
>>> A[2][1]='MM'
>>> A
('a', 'b', ['GG', 'MM'])
>>> print(A[1])       #print()可省略
b
>>> A[2][0]
GG
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI