【发布时间】:2022-01-03 21:19:38
【问题描述】:
我想将列表“b”、“c”和“d”附加到我的列表“a”中。然后我想在每一行打印单个列表。我的预期输出是:
[(4, 'Blue'), (3, 'Red'), (4, 'Red')]
[(2, 'Green'), (4, 'Green'), (1, 'Yellow')]
[(1, 'Green'), (3, 'Blue'), (3, 'Green')]
[(2, 'Blue'), (1, 'Red'), (4, 'Yellow')]
我当前的代码是:
a = [(4, 'Blue'), (3, 'Red'), (4, 'Red')]
b = [(2, 'Green'), (4, 'Green'), (1, 'Yellow')]
c = [(1, 'Green'), (3, 'Blue'), (3, 'Green')]
d = [(2, 'Blue'), (1, 'Red'), (4, 'Yellow')]
a.append(b)
a.append(c)
a.append(d)
for x in a:
print(x)
我目前的输出是:
(4, 'Blue')
(3, 'Red')
(4, 'Red')
[(2, 'Green'), (4, 'Green'), (1, 'Yellow')]
[(1, 'Green'), (3, 'Blue'), (3, 'Green')]
[(2, 'Blue'), (1, 'Red'), (4, 'Yellow')]
如您所见,前 3 行输出是分开的,而不是在一起的。如何更改它以使其根据我的预期输出显示?
【问题讨论】:
-
您想要列表列表还是元素列表?
-
你可以使用
a.extend([b, c, d])而不是追加3次。 -
你不需要
e = [a,b,c,d]吗? -
很抱歉最初的重复标记。我误读了您的预期输出。
-
您根本不需要使用
.append,正如@Sayse 指出的那样。但是您可以通过简单地了解发生的事情来轻松修复代码。想一想:为什么a.append(b)给你a的初始元素,然后是b作为单个元素?鉴于b的附加会将正确的内容放入您的输出中,您能想出一种方法将a正确放入您的输出中吗? (通过在某事上使用.append(a),对吗?)如果你要这样做,你需要有什么起点? (它必须是一个单独的东西,对吧,哪个是空的?是吗?)