如何在python中连续打印右侧结果?

时间:2014-08-02 06:45:09

标签: python string python-2.7

我有我的代码:

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 :(得分: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="")