簡體   English   中英

Python將列表插入列表

[英]Python Insert a list into a list

我有一個這樣的清單:

a = ["a","b","c","d","e"]

如何在列表中每個項目的末尾插入一個單詞並使它們成為列表本身?

預期產量:

a = [("a","TEST"),("b","TEST"),("c","TEST"),("d","TEST"),("e","TEST")]

我嘗試了很多方法,但是沒有運氣。

用項目和所需的單詞創建一個元組:

word = "TEST"
a = ["a","b","c","d","e"]
new_a = [(i, word) for i in a]

輸出:

[('a', 'TEST'), ('b', 'TEST'), ('c', 'TEST'), ('d', 'TEST'), ('e', 'TEST')]

或者,使用map

new_a = list(map(lambda x: (x, "TEST"), a))

另一種方法是使用來自itertools模塊的zip_longest ,如下所示(但解決方案應該是Ajax1234的在列表理解中使用元組的解決方案):

from itertools import zip_longest

l = ['a', 'b', 'c', 'd', 'e']
res = list(zip_longest(l, ['TEST'], fillvalue='TEST'))

輸出:

>>> res
[('a', 'TEST'), ('b', 'TEST'), ('c', 'TEST'), ('d', 'TEST'), ('e', 'TEST')]

您可以使用zip

a = ["a","b","c","d","e"]
new_a = zip(a, ["TEST"] * len(a))

輸出:

[('a', 'TEST'), ('b', 'TEST'), ('c', 'TEST'), ('d', 'TEST'), ('e', 'TEST')]

不太時髦,但與其他常見語言類似:

a = ["a","b","c","d","e"]
b = []

for x in a:
    b.append ( (x, 'TEST'))

a = b

print a

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM