我有我的代码:
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中完成?
答案 0 :(得分: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)
相同。 map(str, x)
,给定一个可迭代的x,返回一个新的iterable,其中包含x字符串化的所有项目(e
- > str(e)
)。 ', '.join(iterable)
使用给定的分隔符将给定的元素为字符串的iterable(列表,生成器等)连接到字符串1字符串中。最后str.format()
按顺序替换{}
占位符。
答案 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)))
您可以将str
函数应用于数字列表的所有元素,并使用map
函数,就像这样
print "result is: {}".format(",".join(map(str, range(5)))
答案 2 :(得分:2)
x = 'result is: ';
for i in range(0,5):
x += str(i) + ',';
print(x[:-1];
会做你想要的。虽然不是最好的速度,但是以清晰易读的形式出现。
答案 3 :(得分:1)
同一件事的另一个版本:
for i in range(0,5):
if i == 0:
print "result is %d" % i,
else:
print ",%d" % i,
答案 4 :(得分:0)
在Python3中,您可以使用print
函数的end
kwarg。这在Python2中是不可能的。
print("The result is: ", end="")
for i in range(5):
print(str(i)+", ", end="")