【发布时间】:2022-01-23 03:27:18
【问题描述】:
我有以下清单:
result_lines = ['hello', 'bye']
我试图形成一个单行来打印列表的元素,如下所示:
print(line for line in result_lines)
预期结果:
你好
再见
输出(我得到的):
编辑:
另外,上述方法与:
for line in result_lines:
print(line)
我无法弄清楚为什么会这样。任何帮助表示赞赏。
【问题讨论】:
-
将 print 中的所有内容括在括号中,因此例如
print([line for line in result_lines])应该可以工作。欲了解更多信息,请查看list compehensions -
line for line in result_lines是一个生成器表达式,因此它会打印由该表达式创建的生成器对象的表示。由于您要打印生成器的每个元素,请使用括号将其展开为序列。请注意,您只需print(result_lines)即可获得相同的结果 -
您的问题标题为“无法在 for 循环中打印列表元素”;但是您向我们展示了 不是 for 循环 的代码并抱怨它没有给您所需的输出,然后您展示了 is for 循环的代码并且 确实有效。