久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

        手機站
        千鋒教育

        千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

        千鋒教育

        掃一掃進入千鋒手機站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習(xí)站小程序
        隨時隨地免費學(xué)習(xí)課程

        當(dāng)前位置:首頁  >  技術(shù)干貨  > python 列表元素的增加

        python 列表元素的增加

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

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

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

        >>>aList=aList+[7]

        >>>aList

        [3,4,5,7]

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

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

        >>>aList.append(9)

        >>>aList

        [3,4,5,7,9]

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

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

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

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

        20230752

        >>>a=[1,2]

        >>>id(a)

        20338208

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

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

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

        >>>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()方法來增加列表元素也不改變其內(nèi)存首地址,屬于原地操作。

        >>>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)#在下標(biāo)為3的位置插入元素6

        >>>aList

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

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

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

        類似的還有后面介紹的remove()方法以及使用pop()函數(shù)彈出列表非尾部元素和使用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)

        上面代碼運行結(jié)果如下:

        Insert:0.578000068665

        Append:0.0309998989105

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

        >>>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

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

        >>>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]]

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

        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
        請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
        免費領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        python 序列化與反序列化如何使用?

        根據(jù)某些規(guī)則,將內(nèi)存數(shù)據(jù)保存到文件中時,文件是字節(jié)序列,因此必須將內(nèi)存數(shù)據(jù)轉(zhuǎn)換為字節(jié)序列,然后輸出到文件,這就是序列化;反之,從文件的...詳情>>

        2023-11-08 07:01:37
        Python企業(yè)應(yīng)用的優(yōu)缺點

        Python是軟件開發(fā)領(lǐng)域一朵誘人的奇葩:人們經(jīng)常把Python看作是一種起到縫合作用的嚴(yán)格腳本語言,不過卻很少有人意識到Python已經(jīng)足夠強大到應(yīng)用...詳情>>

        2023-11-08 06:25:37
        python 關(guān)鍵字參數(shù)

        可變參數(shù)允許你傳入0個或任意個參數(shù),這些可變參數(shù)在函數(shù)調(diào)用時自動組裝為一個tuple。而關(guān)鍵字參數(shù)允許你傳入0個或任意個含參數(shù)名的參數(shù),這些...詳情>>

        2023-11-08 04:59:13
        python 列表元素的刪除

        使用del命令刪除列表中的指定位置上的元素。>>>a_list=[3,5,7,9,11]>>>dela_list[1]>>>a_list[3,7,9,11]使用列表的pop()方法刪除并返回指定位置...詳情>>

        2023-11-08 03:58:01
        python 插入排序

        原理插入排序(InsertionSort)是一種簡單直觀的排序算法。它的工作原理是通過構(gòu)建有序序列,對于未排序數(shù)據(jù),在已排序序列中從后向前掃描,找到...詳情>>

        2023-11-08 02:56:48
        姜堰市| 双牌县| 怀集县| 梧州市| 郁南县| 白山市| 广元市| 河西区| 永定县| 延津县| 甘德县| 武义县| 阜宁县| 绥化市| 万全县| 宿松县| 赣榆县| 高青县| 拜泉县| 五常市| 四川省| 苏尼特右旗| 永安市| 长阳| 澳门| 兴义市| 邢台县| 石楼县| 当阳市| 白朗县| 四川省| 鄂托克前旗| 开化县| 台北县| 镇巴县| 安乡县| 阿拉善盟| 恩施市| 蓝山县| 普定县| 奉化市|