首页 > 解决方案 > 将列表值插入另一个列表(python)

问题描述

我对编程还是很陌生。我有两个列表:

List1=[[1,2,3,4],[5,6,7,8],[9,10,11,12]]
List2=['a','b','c']

我想将一个列表的值放入另一个列表中,所以我的输出如下所示:

List1=[[1,2,3,4,'a'],[5,6,7,8,'b'],[9,10,11,12,'c']]

到目前为止,我设法写了这个:

for i in range(0,len(List1)):
    for row in List1:
        row.insert(5, List2[i])

但我明白了:

List1=[[1,2,3,4,'a','b','c'],[5,6,7,8,'a','b','c'],[9,10,11,12,'a','b','c']]

我确定这可能是一个简单的错误,但我不知道它是什么。

标签: pythonlist

解决方案


您可以zip为此使用:

List1=[[1,2,3,4],[5,6,7,8],[9,10,11,12]]
List2=['a','b','c']

List1 = [ a + list(b) for a, b in zip(List1, List2)]
print(List1)

出去:

[[1, 2, 3, 4, 'a'], [5, 6, 7, 8, 'b'], [9, 10, 11, 12, 'c']]

请注意,这会创建一个新列表并且不会更改旧列表。如果使用列表可变性,则此代码将不起作用!


推荐阅读