天天看點

python list元素合并_Python-清單+-01-兩個清單各元素合并

系統:Windows 7

語言版本:Anaconda3-4.3.0.1-Windows-x86_64

編輯器:pycharm-community-2016.3.2這個系列講講Python對清單的一些實用操作

本文介紹:兩個清單各元素進行字元串的組合

Part 1:示例說明已知清單list_a = [1, 2, 3, 4],清單list_b = ['a', 'b', 'c', 'd']

想擷取如下結果['1+a', '2+b', '3+c', '4+d'],其實就是上面兩個清單每個對應元素分别進行如下操作str(a) + "+" + b

那麼如何實作該結果呢?

Part 2:方法1建立一個空清單list_a_b

對任一清單(這裡使用list_a)進行enumerate方式周遊,擷取其每個元素的值a,再根據位置資訊擷取另外一個清單對應元素b,2個元素進行運算輸出c

将每一個c追加到清單list_a_b

代碼如下:list_a = [1, 2, 3, 4]

list_b = ['a', 'b', 'c', 'd']

# 方法1

list_a_b = []

for i, e in enumerate(list_a):

a = e

b = list_b[i]

c = str(a) + "+" + b

list_a_b.append(c)

print(list_a_b)

代碼截圖

輸出結果

Part 3:方法2之前的方法過于複雜,這種循環周遊的方法有沒有想起清單推導式,采用其更新方法list_a_b = [str(a) + "+" + b for a, b in zip(list_a, list_b)]

完整代碼如下list_a = [1, 2, 3, 4]

list_b = ['a', 'b', 'c', 'd']

# 方法2

list_a_b = [str(a) + "+" + b for a, b in zip(list_a, list_b)]

print(list_a_b)

Part 4:部分代碼解讀list_a_b = [str(a) + "+" + b for a, b in zip(list_a, list_b)]' 核心在于zip(list_a, list_b)

zip實作了一個打包的效果,将每個清單每個相同位置的元素進行組合,生成一個新的對象,這個對象可以通過list函數轉換為每個元素是一個元組的清單。

我們看以下代碼實作什麼效果,進而更具體的了解ziplist_a = [1, 2, 3, 4]

list_b = ['a', 'b', 'c', 'd']

list_c = ['a', 'b', 'c', 'd']

a_b = zip(list_a, list_b)

print(a_b)

list_a_b = list(a_b)

print(list_a_b)

a_b_c = zip(list_a, list_b, list_c)

print(a_b_c)

list_a_b_c = list(a_b_c)

print(list_a_b_c)

運作結果本文為原創作品,歡迎分享朋友圈