Python中合并列表(list)的六種方法小結(jié)
列表是Python中強(qiáng)大的數(shù)據(jù)結(jié)構(gòu),很多時(shí)候我們要對(duì)它進(jìn)行增、刪、改、查,其中增是常見(jiàn)的操作,一般通過(guò)合并列表的方法來(lái)實(shí)現(xiàn)。那么,如何把2個(gè)列表合并成多個(gè)列表呢?今天我們就來(lái)學(xué)習(xí)一下六種不同的方法。
一、直接用 + 合并列表
最簡(jiǎn)單的辦法就是用 +,把兩個(gè)列表加起來(lái),實(shí)際上就是合并在了一起。
list1 = [1, 2, 3] list2 = [4, 5, 6] merged_list = list1 + list2 print(merged_list) # 輸出:[1, 2, 3, 4, 5, 6]
這種辦法很直接,也很容易記,但是效率并不高,適合初學(xué)者直接連接兩個(gè)元素不是特別多的列表。
二、用 extend() 方法
與append()進(jìn)行元素追加的方法不同,extend() 方法可以把一個(gè)列表的內(nèi)容追加加到另一個(gè)列表的末尾,就像這樣:
list1 = [1, 2, 3] list2 = [4, 5, 6] list1.extend(list2) print(list1) # 輸出:[1, 2, 3, 4, 5, 6]
注意哦,extend() 會(huì)改變?cè)瓉?lái)的列表,不會(huì)創(chuàng)建一個(gè)新的。
三、用 zip() 函數(shù)交叉合并
如果你想交叉著合并兩個(gè)列表,可以這么做:
lst1 = [1, 2, 3] lst2 = [4, 5, 6] merged_lst = [item for pair in zip(lst1, lst2) for item in pair] print(merged_lst) # 輸出:[1, 4, 2, 5, 3, 6]
這樣會(huì)把兩個(gè)列表里對(duì)應(yīng)位置的元素交叉合并到一起,注意這里的列表沒(méi)有按照原來(lái)的順利進(jìn)行。
四、用星號(hào)*解包列表后合并
我們都知道可以在python中用星號(hào)解包列表,解包完,我們可以把元素重新放到列表中,如下:
lst1 = [1, 2, 3] lst2 = [4, 5, 6] merged_lst = [*list1,*list2] print(merged_lst) # 輸出:[1, 2,3, 4, 5, 6]
五、用列表推導(dǎo)式合并
列表推導(dǎo)式可以用來(lái)合并列表,很簡(jiǎn)潔也很高效:
lst1 = [1, 2, 3] lst2 = [4, 5, 6] merged_lst = [item for sublist in [lst1, lst2] for item in sublist] print(merged_lst) # 輸出:[1, 2, 3, 4, 5, 6]
這種辦法很靈活,執(zhí)行速度也很快,能用來(lái)處理更復(fù)雜的合并操作。
六、用 itertools.chain() 合并
itertools.chain() 可以用來(lái)合并任意數(shù)量的列表或其他可以迭代的對(duì)象:
from itertools import chain lst1 = [1, 2, 3] lst2 = [4, 5, 6] merged_lst = list(chain(lst1, lst2)) print(merged_lst) # 輸出:[1, 2, 3, 4, 5, 6]
在處理大量列表時(shí),這個(gè)辦法特別高效。但需要引入chain這個(gè)標(biāo)準(zhǔn)模塊。因?yàn)槭莗ython自帶的,所以并不需要安裝。
七、學(xué)后總結(jié)
- 每種都有它的長(zhǎng)處,可以根據(jù)需求選擇最適合的方法。
- 合并列表或者字符串時(shí)要注意,合并的內(nèi)容都是相同類型,不然無(wú)法合并,如列表和字符串就無(wú)法合并。因此,在編程過(guò)程中,有時(shí)需要對(duì)合并的內(nèi)容的數(shù)據(jù)類型進(jìn)行判斷,然后再進(jìn)行操作。
到此這篇關(guān)于Python中合并列表(list)的六種方法小結(jié)的文章就介紹到這了,更多相關(guān)Python 合并列表 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)的HMacMD5加密算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)的HMacMD5加密算法,簡(jiǎn)單說(shuō)明了HMAC-MD5加密算法的概念、原理并結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)HMAC-MD5加密算法的相關(guān)操作技巧,,末尾還附帶了Java實(shí)現(xiàn)HMAC-MD5加密算法的示例,需要的朋友可以參考下2018-04-04Django中的JWT身份驗(yàn)證的實(shí)現(xiàn)
這篇文章主要介紹了Django中的JWT身份驗(yàn)證的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05Python多線程、異步+多進(jìn)程爬蟲實(shí)現(xiàn)代碼
這篇文章主要介紹了Python多線程、異步+多進(jìn)程爬蟲實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-02-02通過(guò)python實(shí)現(xiàn)Google的精準(zhǔn)搜索功能
這篇文章主要介紹了通過(guò)python實(shí)現(xiàn)Google的精準(zhǔn)搜索功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-05-05pandas按若干個(gè)列的組合條件篩選數(shù)據(jù)的方法
下面小編就為大家分享一篇pandas按若干個(gè)列的組合條件篩選數(shù)據(jù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04Python學(xué)習(xí)之集合的常用方法總結(jié)
集合并不是一種數(shù)據(jù)處理類型,而是一種中間類型。集合(set)是一個(gè)無(wú)序、不重復(fù)的元素序列,經(jīng)常被用來(lái)處理兩個(gè)列表進(jìn)行交并差的處理性。本文將詳細(xì)講解集合的一些常用方法,感興趣的可以了解一下2022-03-03Python中元組的基礎(chǔ)介紹及常用操作總結(jié)
元組是一種不可變序列。元組變量的賦值要在定義時(shí)就進(jìn)行,這就像C語(yǔ)言中的const變量或是C++的引用,定義時(shí)賦值之后就不允許有修改。元組存在的意義是:元組在映射中可以作為鍵使用,因?yàn)橐WC鍵的不變性。元組作為很多內(nèi)置函數(shù)和方法的返回值存在2021-09-09