python 合併列表的方法

2021-09-11 08:02:42 字數 2769 閱讀 8689

python中利用非迴圈的方法將兩個list列表中的內容進行合併

在處理字串、目錄和排序資訊的時候,經常需要將兩個列表進行合併。但利用for迴圈逐個插入會十分繁瑣,利用下面的方法可以快速方便的進行列表內容的合併。

1.+運算直接合併

list_a =

['a'

,'b'

,'c'

]list_b =

['d'

,'e'

,'f'

,'g'

]list_ab = list_a + list_b

print

(list_ab)

>>> ['a', 'b', 'c', 'd', 'e', 'f', 'g']由於列表可以儲存各類物件,所以內容型別不同的列表也可以合併:

list_num =[1

,2,3

,4,5

]list_set =[,

]list_dict =[,

]list_mix = list_a + list_num + list_set + list_dict

print

(list_mix)

>>> ['a', 'b', 'c', 1, 2, 3, 4, 5, set([0]), set([1]), , ]2.extend()方法

list_a =

['a'

,'b'

,'c'

]list_b =

['d'

,'e'

,'f'

,'g'

]list_a.extend(list_b)

print

(list_a)

>>> ['a', 'b', 'c', 'd', 'e', 'f', 'g']這種方法直接在原有列表後加上了需要合併的新列表,擴增的原有的列表。

記憶體位置沒有改變,內容被擴充,可以借助id()函式來檢視:

list_a =

['a'

,'b'

,'c'

]id1 =

id(list_a)

list_b =

['d'

,'e'

,'f'

,'g'

]list_a.extend(list_b)

id2 =

id(list_a)

print

(id1==id2)

>>> true

list_a =

['a'

,'b'

,'c'

]list_b =

['d'

,'e'

,'f'

,'g'

]list_a[0:

0]= list_b #列表中[n,n],表示在列表的第n+1個位置,將對應列表逐個元素插入合併

print

(list_a)

#千萬不能寫成 list_a[0] = list_b,這會使得list_a[0]變為乙個列表,而不是列表內的元素。

>>> ['d', 'e', 'f', 'g', 'a', 'b', 'c']也可以修改位置,靈活變更合併的序列在原列表中的位置:

list_a =

['a'

,'b'

,'c'

]list_b =

['d'

,'e'

,'f'

,'g'

]list_a[-1

:-1]

= list_b #合併至最末尾

print

(list_a)

>>> ['a', 'b', 'd', 'e', 'f', 'g', 'c']合併到第二個位置:

list_a =

['a'

,'b'

,'c'

]list_b =

['d'

,'e'

,'f'

,'g'

]list_a[1:

1]= list_b #合併至第二個位置

print

(list_a)

>>> ['a', 'd', 'e', 'f', 'g', 'b', 'c']*4.「指標」/解包操作

python >= 3.5 pep 448中可以使用*來進行類似指標的操作:

python字典合併, 列表生成字典,方法

可能會用到的方法 dic1 dic2 dic3 dic4 dic5 對dic1和dic2,保留 dic1的key,如果dic2包含dic1中的key,則替換成dic2的value,如果不包含,則將dic1中的value修改為0 temp for k,v in dic1.items if k in d...

動態獲取table合併列表單資料

動態獲取表單資料效果圖 資料格式 js部分 顯示所有品目 預設顯示data 0 貨物類 alist data,atbody 載入貨物類 function alist data,tbodyid 獲取資料並組裝資料 function getdatalist firstlist,sign,tbodyid ...

Python合併兩個列表的方法

瀏覽部落格看到乙個問題 如何合併兩個列表,今天就來 一下。方法一 最原始,最笨的方法,分別從兩個列表中取出所有的元素,再放入新列表中就ok了。示例 如下 list1 1,2,3 list2 4,5,6 list new for item in list1 for item in list2 prin...