【发布时间】:2012-08-20 21:09:00
【问题描述】:
我想知道是否有一种方法可以打印没有换行符的元素,例如
x=['.','.','.','.','.','.']
for i in x:
print i
这将打印........,而不是通常打印的内容
.
.
.
.
.
.
.
.
谢谢!
【问题讨论】:
标签: python
我想知道是否有一种方法可以打印没有换行符的元素,例如
x=['.','.','.','.','.','.']
for i in x:
print i
这将打印........,而不是通常打印的内容
.
.
.
.
.
.
.
.
谢谢!
【问题讨论】:
标签: python
这可以通过 Python 3 使用 print() 函数 轻松完成。
for i in x:
print(i, end="") # substitute the null-string in place of newline
会给你
......
在 Python v2 中,您可以使用 print() 函数,包括:
from __future__ import print_function
作为源文件中的 first 语句。
作为print() docs 状态:
Old: print x, # Trailing comma suppresses newline
New: print(x, end=" ") # Appends a space instead of a newline
请注意,这类似于我最近回答的一个问题 (https://stackoverflow.com/a/12102758/1209279),如果您好奇的话,其中包含有关 print() 函数的一些附加信息。
【讨论】:
from __future__ import print_function 时。
import sys
for i in x:
sys.stdout.write(i)
或
print ''.join(x)
【讨论】:
我很惊讶没有人提到用于抑制换行符的 pre-Python3 方法:尾随逗号。
for i in x:
print i,
print # For a single newline to end the line
这确实会在某些字符之前插入空格,如 here 所述。
【讨论】:
正如其他答案中提到的,您可以使用 sys.stdout.write 打印,也可以在打印后使用尾随逗号来完成空格,但另一种使用您想要的分隔符打印列表的方法是连接:
print "".join(['.','.','.'])
# ...
print "foo".join(['.','.','.'])
#.foo.foo.
【讨论】:
对于 Python3:
for i in x:
print(i,end="")
【讨论】: