我正在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')
有人可以帮我理解为什么它在单独的行上显示数字值吗?
我已附上屏幕截图以供参考。
谢谢。
答案 0 :(得分:1)
这是因为您要遍历集合numbers
。循环运行,print()
函数自动将\n
插入到打印出要显示的每个项目的末尾。因此,每个项目都显示在自己的行上。
如果您想像示例中那样循环遍历,并用制表符将其分隔,则可以执行以下操作:
for n in numbers:
print(n, end='\t')
默认情况下,end
参数设置为\n
。