我读到它是为了在打印语句后取消换行符,您可以在文本后加一个逗号。这里的示例看起来像 Python 2。如何在 Python 3 中完成?
例如:
for item in [1,2,3,4]:
print(item, " ")
需要更改哪些内容才能将它们打印在同一行上?
我读到它是为了在打印语句后取消换行符,您可以在文本后加一个逗号。这里的示例看起来像 Python 2。如何在 Python 3 中完成?
例如:
for item in [1,2,3,4]:
print(item, " ")
需要更改哪些内容才能将它们打印在同一行上?
问题是:“如何在 Python 3 中完成? ”
将此构造与 Python 3.x 一起使用:
for item in [1,2,3,4]:
print(item, " ", end="")
这将产生:
1 2 3 4
有关更多信息,请参阅此Python 文档:
Old: print x, # Trailing comma suppresses newline
New: print(x, end=" ") # Appends a space instead of a newline
--
旁白:
此外,该print()
功能还提供了sep
一个参数,可以让人们指定要打印的各个项目应该如何分开。例如,
In [21]: print('this','is', 'a', 'test') # default single space between items
this is a test
In [22]: print('this','is', 'a', 'test', sep="") # no spaces between items
thisisatest
In [22]: print('this','is', 'a', 'test', sep="--*--") # user specified separation
this--*--is--*--a--*--test
Python 3.6.1 的代码
print("This first text and " , end="")
print("second text will be on the same line")
print("Unlike this text which will be on a newline")
输出
>>>
This first text and second text will be on the same line
Unlike this text which will be on a newline
print 直到 Python 3.0 才从语句转换为函数。如果您使用的是较旧的 Python,则可以使用尾随逗号抑制换行符,如下所示:
print "Foo %10s bar" % baz,
因为 python 3 print() 函数允许 end="" 定义,这满足了大多数问题。
就我而言,我想要 PrettyPrint 并且对这个模块没有类似的更新感到沮丧。所以我让它做我想做的事:
from pprint import PrettyPrinter
class CommaEndingPrettyPrinter(PrettyPrinter):
def pprint(self, object):
self._format(object, self._stream, 0, 0, {}, 0)
# this is where to tell it what you want instead of the default "\n"
self._stream.write(",\n")
def comma_ending_prettyprint(object, stream=None, indent=1, width=80, depth=None):
"""Pretty-print a Python object to a stream [default is sys.stdout] with a comma at the end."""
printer = CommaEndingPrettyPrinter(
stream=stream, indent=indent, width=width, depth=depth)
printer.pprint(object)
现在,当我这样做时:
comma_ending_prettyprint(row, stream=outfile)
我得到了我想要的(替换你想要的——你的里程可能会有所不同)
这里有一些关于不带换行符的打印信息。
在 Python 3.x 中,我们可以在 print 函数中使用 'end='。这告诉它以我们选择的字符结束字符串,而不是以换行符结束。例如:
print("My 1st String", end=","); print ("My 2nd String.")
这导致:
My 1st String, My 2nd String.