这看起来很简单,我想不通。我有两个清单
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-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']]
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']]