如何在Python中持续打印右侧结果?
我有我的代码:
for i in range(0,5):
print "result is:"+str(i),
这段代码输出的是:
result is:0 result is:1 result is:2 result is:3 result is:4
我想要输出成这样:
result is:0,1,2,3,4
在Python中怎么做到呢?
5 个回答
0
在Python3中,你可以使用print
函数的一个叫end
的参数。这在Python2中是做不到的。
print("The result is: ", end="")
for i in range(5):
print(str(i)+", ", end="")
1
同样内容的另一种版本:
for i in range(0,5):
if i == 0:
print "result is %d" % i,
else:
print ",%d" % i,
2
x = 'result is: ';
for i in range(0,5):
x += str(i) + ',';
print(x[:-1];
这样做可以达到你想要的效果。虽然速度不是最快的,但内容非常清晰易懂。
4
因为你想要打印出列表中的所有元素,你可以把所有的数字转换成字符串,然后用 ,
把它们连接在一起,像这样
print "result is:" + ",".join(str(number) for number in range(0, 5))
由于 range
的默认起始参数是 0,所以你可以这样调用它
print "result is:" + ",".join(str(number) for number in range(5))
另外,你也可以像这样使用模板字符串
print "result is: {}".format(",".join(str(number) for number in range(5)))
你可以通过 map
函数把 str
函数应用到数字列表中的所有元素,像这样
print "result is: {}".format(",".join(map(str, range(5)))
5
print('Result is: {}'.format(', '.join(map(str, range(5)))))
打印
Result is: 0, 1, 2, 3, 4
适用于Python 2和Python 3。
解释:
range(5)
和 range(0, 5)
是一样的,都是生成从0到4的数字。map(str, x)
是一个函数,它会把给定的可迭代对象 x 中的每个元素都转换成字符串(比如把 e
变成 str(e)
)。', '.join(iterable)
是把一个可迭代对象(比如列表、生成器等)中的字符串元素,用指定的分隔符连接成一个新的字符串。最后,str.format()
是用来把 {}
这些占位符替换成你提供的参数,按顺序替换。