在python v.3中打印数字列表

时间:2012-10-05 08:54:11

标签: python python-3.x

我使用的是Python 3.2.3版。我试图连续打印一个数字列表,打印命令似乎总是在行打印数字。

实施例

numbers = [1, 2, 3, 4, 5];
for num in numbers:
    print("\t ", num)

输出是:

1

2
...

所需的输出为1 2 3 4 5

感谢您的帮助。 附:我在这里搜索了网页,大部分问题都与Python 2.7有关。

4 个答案:

答案 0 :(得分:10)

使用end参数来抑制(或替换)自动EOL输出:

print("\t ", num, end='')

或者,您应该只使用:

print('\t'.join(map(str, [1, 2, 3, 4, 5])))

答案 1 :(得分:8)

除了其他答案之外,现在还有一种巧妙的方法就是打印功能:

print(*numbers, sep='\t')

与原始代码不同,这不会在第一个数字之前放置选项卡。如果你想要那个额外的标签,最简单的方法就是在数字前放一个空白项,这样就会创建一个额外的标签分隔符:

print('', *numbers, sep='\t')

答案 2 :(得分:4)

您可以使用.join()使用制表符来加入它们:

>>> numbers = [1, 2, 3, 4, 5]
>>> print('\t'.join(map(str, numbers)))
1   2   3   4   5

map(str, numbers)[str(n) for n in numbers]相同。

答案 3 :(得分:2)

您可以使用sys.stdout.write()代替print(),它会立即将您的输出发送到输出流,而不会使用换行符。

这具有丑陋的缺点,并且不会立即将整个字符串存储在内存中。 (如果您的阵列非常非常大,join方法会使您的计算机崩溃。)