Python的“打印”功能“ sep”参数未按预期工作

时间:2019-12-08 20:54:25

标签: python

我正在Windows 10企业版上使用Python版本3.7.4。

我遇到了Python的print函数,尤其是sep参数的怪异问题。

在Python REPL中,当我使用代码print(1, 2, 3, 4, 5, sep='\t')时,我得到的正确输出为1 2 3 4 5

但是,当代码尝试遍历集合时,如下所示,而不是显示由制表符分隔的数字,它总是在新行上显示单个值。

numbers = {1, 2, 3, 4, 5}
for n in numbers:
    print(n, sep='\t')

有人可以帮我理解为什么它在单独的行上显示数字值吗?

我已附上屏幕截图以供参考。

Python print function sep parameter

谢谢。

1 个答案:

答案 0 :(得分:1)

这是因为您要遍历集合numbers。循环运行,print()函数自动将\n插入到打印出要显示的每个项目的末尾。因此,每个项目都显示在自己的行上。

如果您想像示例中那样循环遍历,并用制表符将其分隔,则可以执行以下操作:

for n in numbers:
    print(n, end='\t')

默认情况下,end参数设置为\n