这似乎很简单,我无法弄清楚。 我有两个清单
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 '] 有什么想法吗?感激!
答案 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']]