麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > python 列表元素的增加

python 列表元素的增加

來源:千鋒教育
發布人:xqq
時間: 2023-11-08 04:01:37 1699387297

可以使用“+”運算符將元素添加到列表中。

>>>aList=[3,4,5]

>>>aList=aList+[7]

>>>aList

[3,4,5,7]

嚴格意義上來講,這并不是真的為列表添加元素,而是創建了一個新列表,并將原列表中的元素和新元素依次復制到新列表的內存空間。由于涉及大量元素的復制,該操作速度較慢,在涉及大量元素添加時不建議使用該方法。

使用列表對象的append()方法在當前列表尾部追加元素,原地修改列表,是真正意義上的在列表尾部添加元素,速度較快。

>>>aList.append(9)

>>>aList

[3,4,5,7,9]

所謂“原地”,是指不改變列表在內存中的首地址。

python采用的是基于值的自動內存管理方式,當為對象修改值時,并不是真的直接修改變量的值,而是使變量指向新的值,這對于Python所有類型的變量都是一樣的。

>>>a=[1,2,3]

>>>id(a)#返回對象的內存地址

20230752

>>>a=[1,2]

>>>id(a)

20338208

列表中包含的是元素值的引用,而不是直接包含元素值。

如果是直接修改序列變量的值,則與Python普通變量的情況是一樣的

如果是通過下標來修改序列中元素的值或通過可變序列對象自身提供的方法來增加和刪除元素時,序列對象在內存中的起始地址是不變的,僅僅是被改變值的元素地址發生變化,也就是所謂的“原地操作”。

>>>a=[1,2,4]

>>>b=[1,2,3]

>>>a==b

False

>>>id(a)==id(b)

False

>>>id(a[0])==id(b[0])

True

>>>a=[1,2,3]

>>>id(a)

25289752

>>>a.append(4)

>>>id(a)

25289752

>>>a.remove(3)

>>>a

[1,2,4]

>>>id(a)

25289752

>>>a[0]=5

>>>a

[5,2,4]

>>>id(a)

25289752

使用列表對象的extend()方法可以將另一個迭代對象的所有元素添加至該列表對象尾部。通過extend()方法來增加列表元素也不改變其內存首地址,屬于原地操作。

>>>a.extend([7,8,9])

>>>a

[5,2,4,7,8,9]

>>>id(a)

25289752

>>>aList.extend([11,13])

>>>aList

[3,4,5,7,9,11,13]

>>>aList.extend((15,17))

>>>aList

[3,4,5,7,9,11,13,15,17]

使用列表對象的insert()方法將元素添加至列表的指定位置。

>>>aList.insert(3,6)#在下標為3的位置插入元素6

>>>aList

[3,4,5,6,7,9,11,13,15,17]

應盡量從列表尾部進行元素的增加與刪除操作。

列表的insert()可以在列表的任意位置插入元素,但由于列表的自動內存管理功能,insert()方法會引起插入位置之后所有元素的移動,這會影響處理速度。

類似的還有后面介紹的remove()方法以及使用pop()函數彈出列表非尾部元素和使用del命令刪除列表非尾部元素的情況。

importtime

defInsert():

a=[]

foriinrange(10000):

a.insert(0,i)

defAppend():

a=[]

foriinrange(10000):

a.append(i)

start=time.time()

foriinrange(10):

Insert()

print('Insert:',time.time()-start)

start=time.time()

foriinrange(10):

Append()

print('Append:',time.time()-start)

上面代碼運行結果如下:

Insert:0.578000068665

Append:0.0309998989105

使用乘法來擴展列表對象,將列表與整數相乘,生成一個新列表,新列表是原列表中元素的重復。

>>>aList=[3,5,7]

>>>bList=aList

>>>id(aList)

57091464

>>>id(bList)

57091464

>>>aList=aList*3

>>>aList

[3,5,7,3,5,7,3,5,7]

>>>bList

[3,5,7]

>>>id(aList)

57092680

>>>id(bList)

57091464

當使用*運算符將包含列表的列表重復并創建新列表時,并不是復制子列表值,而是復制已有元素的引用。因此,當修改其中一個值時,相應的引用也會被修改。

>>>x=[[None]*2]*3

>>>x

[[None,None],[None,None],[None,None]]

>>>x[0][0]=5

>>>x

[[5,None],[5,None],[5,None]]

>>>x=[[1,2,3]]*3

>>>x[0][0]=10

>>>x

[[10,2,3],[10,2,3],[10,2,3]]

以上內容為大家介紹了python列表元素的增加,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。

tags: python培訓
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 町村小夜子| 午夜爽爽爽视频| 欧美不卡视频在线观看| 国产又爽又黄又舒服又刺激视频| 国产精品日韩欧美一区二区三区| 特极毛片| 国产精品久久久久9999| 国产对白在线观看| 国产三级久久久精品麻豆三级| 欧美一级欧美三级在线观看| 免费无遮挡肉动漫在线观看 | 羞羞色漫| 公交车上被弄进走不动| 日韩精品一区二区三区中文| 日本伦理电影网伦理在线电影| 国产剧情麻豆剧果冻传媒视频免费 | 黄色一级片日本| 久久精品99香蕉国产| 亚洲国产成人久久精品app| 好男人视频社区精品免费| 鲁啊鲁啊鲁在线视频播放| 3d夜蒲团| 波多野结衣痴汉| 好男人社区在线www| 久久在精品线影院精品国产| 免费a级毛片无码| 麻豆波多野结衣| 91成人影院| 国产精品综合色区在线观看| 久久国产一区二区三区| 奇米色在线| 女人被男人躁到呻吟的| 国产麻豆剧果冻传媒一区| 日本xxxx高清在线观看免费| 亚洲日产2021三区| 久久精品国产99久久久| 公交车忘穿内裤被挺进小说白| 国产理论视频在线观看| 国产欧美日韩中文久久| 国产浮力第一影院| 羞羞漫画喷水漫画yy视|