我遇到了一个小问题, 我想打印到stdout结果与它们之间的空格
x y
我的代码打印出来(x, y)
因为我只是用它们之间的逗号返回它们
return x, y
在打印x和y之前我需要添加什么?
答案 0 :(得分:2)
你的函数返回一个元组。你看到的是元组的标准表示。
有不同的解决方案;
1)分配给两个变量并打印:
x, y = function()
print x, y # in Python 3 use print(x, y)
2)在python 3中你可以解压缩:
res = function()
print(*res)
3)您可以使用format
:
res = function()
print '{} {}'.format(res[0], res[1])
# In python 3 also with unpacking; print('{} {}'.format(*res))
请注意,使用format
可能会给您最大的灵活性w.r.t.输出看起来如何。例如,如果值是浮点数。 Python 3中的示例:
>>> res = (12/7, 7/3)
>>> res
(1.7142857142857142, 2.3333333333333335)
>>> print(*res)
1.7142857142857142 2.3333333333333335
>>> print('{:.3f} {:.3f}'.format(*res))
1.714 2.333
答案 1 :(得分:1)
你刚刚打印了一个python tuple
:
>>> print((x, y))
(x, y)
您可以unpack
获得所需的结果:
>>> print(*(x, y))
x y
要在python 2.x中使用,请执行from __future__ import print_function