2017-09-07 40 views
1

列表,這將是未知的列表的長度,這是一個例子,列表未知字符串擴展/追加任意尺寸的嵌套列表與另一個列表列表的

a = [['GigabitEthernet0/0,', '0'], ['GigabitEthernet1/0/1,', '0']] 

列表,這是一個例子

b =['4564325', '777'] 

是否有可能以數值與相應的琴絃從b伸出一個

期望的結果如下

[['GigabitEthernet0/0,', '0', '4564325'], ['GigabitEthernet1/0/1,', '0', '777']] 

回答

0

可以zip他們一個循環內追加一個到另一個。

for x, y in zip(a, b): 
    x.append(y) 

print(a) 
[['GigabitEthernet0/0,', '0', '4564325'], 
['GigabitEthernet1/0/1,', '0', '777']] 

使用list comprehension

a = [x + [y] for x, y in zip(a, b)] 
print(a) 
[['GigabitEthernet0/0,', '0', '4564325'], 
['GigabitEthernet1/0/1,', '0', '777']] 

有趣map替代:

a = map(list.__add__, a, [[i] for i in b]) # python2.7 
print(a) 
[['GigabitEthernet0/0,', '0', '4564325'], 
['GigabitEthernet1/0/1,', '0', '777']] 
+0

驚人的這個工作完美。你能回答關於列表理解的一個問題嗎? a = [x + [y] for x,y in zip(a,b)],爲什麼[y]? –

+0

@BarryKeegan'y'是一個字符串。我無法將一個字符串添加到列表中('x'是一個列表,因爲'a'是列表的列表)。在'map'解決方案中,我將'b'轉換爲列表列表中的相同邏輯...... –

+0

@COLDSPEED再次感謝您,理所當然。非常感激。 –