如何使用for循环一次将一个列表中的项目追加到另一个列表中?

时间:2020-09-08 08:35:21

标签: python list

这似乎很简单,我无法弄清楚。 我有两个清单

li = ['abc','def']
se = ['q1','q2','q3']

如果我使用for循环将两个列表连接在一起,结果将不是我想要的。

for x in se:
   li.append(se)
   print(li)

我想要的输出为 ['abc','def','q1'],['abc','def','q2'],['abc','def','q3 '] 有什么想法吗?感激!

4 个答案:

答案 0 :(得分:3)

尝试一下:

li = ['abc','def']
se = ['q1','q2','q3']

new_lst = [li+[x] for x in se]
print(new_lst)

输出:

[['abc', 'def', 'q1'], ['abc', 'def', 'q2'], ['abc', 'def', 'q3']]

答案 1 :(得分:1)

您可以使用列表推导,但为简单起见,如果您想使用for-loop append,则可以使用下面的代码。

li = ['abc','def']
se = ['q1','q2','q3']
res = []

for x in se:
  res.append(li + [x])
print(res)

输出:

[['abc', 'def', 'q1'], ['abc', 'def', 'q2'], ['abc', 'def', 'q3']]

答案 2 :(得分:0)

append修改了上一个列表,因此我们需要进行复制(li[:]是复制li的最简单方法),并且还需要挂起{{1} }是元素,而不是x,这是另一个列表:

se

输出:

li = ['abc','def']
se = ['q1','q2','q3']

for x in se:
    li2 = li[:]
    li2.append(x)
    print(li2)

答案 3 :(得分:0)

尝试一下:

li = ['abc', 'def']
se = ['q1', 'q2','q3']

for i in se:
    print(li + [i])

输出:

['abc', 'def', 'q1']
['abc', 'def', 'q2']
['abc', 'def', 'q3']

或尝试以下操作:

li = ['abc', 'def']
se = ['q1', 'q2', 'q3']

result = [li + [i] for i in se]
print(result)

输出:

[['abc', 'def', 'q1'], ['abc', 'def', 'q2'], ['abc', 'def', 'q3']]