列表list和元组tuple的区别
admin
2023-07-16 18:22:53
0

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 "", line 1, in 
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

相关内容

热门资讯

粉笔张小龙,犯了众怒 在讲台上荒诞“暴走”的张小龙,并不令人意外。6月3日,粉笔创始人张小龙作为主讲嘉宾,应邀出席一所大学...
民进党前秘书长欠台糖公司1.7... 【环球网报道】据台湾中时新闻网报道,民进党前秘书长吴乃仁在担任台糖公司董事长期间,涉及贱卖台糖土地案...
3岁小孩不知妈妈去世,因想念每... “妈妈去国外工作了,很爱你们,只是暂时回不了家。”面对三岁大宝日复一日的寻母思念,湖北武汉的李先生只...
内塔尼亚胡险遭无人机袭击,以媒... 尽管黎以停火协议已达成并开始实施,但零星交火仍在持续。以色列总理内塔尼亚胡刚离开北部边境地区,疑似真...
美媒:拜登家族不肯消失,民主党... 美国将于今年年底举行中期选举,民主党人有望夺回众议院。然而拜登家族的高调举动,使得民主党再次分心,一...
对日本新型军国主义的“新型抗战... 【文/观察者网专栏作者 江宇舟】日本这几个月的对华行为,已经是全方位的恶声、恶气、恶行、恶法:自卫队...
“这里没有口号,只有实干”——... 在黄河科技学院,有这样一个地方:没有惊天动地的口号,没有花里胡哨的“形象工程”,有的只是实验室里彻夜...
AI决定6G成败关键? 专家称... 中经记者 陈佳岚 广州报道 “6G与AI的增强融合,这部分OPPO是全力投入的。而与AI的融合,也是...
自贡:“智造”为核,无人车跑出... 盐都初夏清晨,和勤劳的人们一同早起的,还有一辆辆造型新颖的无人配送车、清扫作业车。市民杨先生对此颇有...
黄仁勋不装了:所有芯片市场我全... 来源:市场资讯 (来源:科技头版) 英伟达要当AI时代唯一的王。 出品 | 科技头版 作者 | 青...