将列表添加到另一个列表

时间:2018-01-29 11:50:29

标签: python arrays list

让我们说有一个列表,

list1= [[0, 4, 0, 0], [2, 0, 4, 0], [9, 8, 0, 0], [0, 2, 5, 0]]

还有另一个列表

list2= [a,b,c,d]

我已经看到多个问题类似的问题,但我无法得到这个问题的正确答案。

我想列一个清单

list3= [[a,0,4,0,0],[b,2,0,4,0],[c,9,8,0,0],[d,0,2,5,0]]

有没有简单的方法来实现这个目标?

4 个答案:

答案 0 :(得分:2)

您可以迭代列表并使用 list.insert 方法执行您想要的操作

list1= [[0, 4, 0, 0], [2, 0, 4, 0], [9, 8, 0, 0], [0, 2, 5, 0]]
list2= ["a","b","c","d"]

for i,v in enumerate(list2):
    list1[i].insert(0, v)

print list1

OR

result = []
for i,v in zip(list1, list2):
    result.append([v] + i)

print result

<强>输出

[['a', 0, 4, 0, 0], ['b', 2, 0, 4, 0], ['c', 9, 8, 0, 0], ['d', 0, 2, 5, 0]]

答案 1 :(得分:2)

list comprehensionzip()一起使用即可:

result = [[i]+j for i, j in zip(list2, list1)]

<强>输出:

>>> list1 = [[0, 4, 0, 0], [2, 0, 4, 0], [9, 8, 0, 0], [0, 2, 5, 0]]
>>> list2 = ['a', 'b', 'c', 'd']
>>> result = [[i]+j for i, j in zip(list2, list1)]
>>> result
[['a', 0, 4, 0, 0], ['b', 2, 0, 4, 0], ['c', 9, 8, 0, 0], ['d', 0, 2, 5, 0]]

答案 2 :(得分:1)

使用迭代器+列表理解怎么样:

null

答案 3 :(得分:0)

使用简单的list-comprehensions -

In [1]: list1= [[0, 4, 0, 0], [2, 0, 4, 0], [9, 8, 0, 0], [0, 2, 5, 0]]

In [2]: list2= ["a","b","c","d"]

In [3]: [[list2[i]] + l1 for i, l1 in enumerate(list1)]  # Enumerate keeps track of the index, and also returns the current list element

Out[3]: [['a', 0, 4, 0, 0], ['b', 2, 0, 4, 0], ['c', 9, 8, 0, 0], ['d', 0, 2, 5, 0]]