我想知道是否有办法打印没有换行符的元素,例如
x=['.','.','.','.','.','.']
for i in x:
print i
这将打印........
而不是通常打印的
.
.
.
.
.
.
.
.
谢谢!
答案 0 :(得分:17)
使用 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
作为源文件中的第一个语句。
作为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()
功能的一些其他信息。
答案 1 :(得分:9)
import sys
for i in x:
sys.stdout.write(i)
或
print ''.join(x)
答案 2 :(得分:6)
我很惊讶没有人提到用于抑制换行符的pre-Python3方法:一个尾随的逗号。
for i in x:
print i,
print # For a single newline to end the line
这会在某些字符之前插入空格,如here所述。
答案 3 :(得分:3)
正如其他答案中所提到的,您可以使用sys.stdout.write进行打印,也可以在打印后使用尾随逗号来执行空格,但是使用您想要的任何分隔符打印列表的另一种方法是连接:
print "".join(['.','.','.'])
# ...
print "foo".join(['.','.','.'])
#.foo.foo.
答案 4 :(得分:1)
对于Python3:
for i in x:
print(i,end="")