如何在Python中持续打印右侧结果?

2 投票
5 回答
1140 浏览
提问于 2025-04-18 15:43

我有我的代码:

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() 是用来把 {} 这些占位符替换成你提供的参数,按顺序替换。

撰写回答