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



这看起来很简单,我想不通。我有两个清单

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

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

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

我想要的输出是[‘abc’,‘ef’,‘q1'],[‘abc‘,‘ef‘,‘q2'],[’abc‘,’ef‘,’q3']有什么想法吗?非常感谢!

试试这个:

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']]

您可以使用列表理解,但如果您想使用for-loopappend来简化,可以使用下面的代码。

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']]

append修改了上一个列表,因此我们需要制作一个副本(li[:]是制作li副本的最简单方法(,并且您还需要添加x,它是元素,而不是se,它是另一个列表:

li = ['abc','def']
se = ['q1','q2','q3']
for x in se:
li2 = li[:]
li2.append(x)
print(li2)

输出:

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

试试这个:

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']]

相关内容

  • 没有找到相关文章