【问题标题】:How to print right side result continously in python?如何在python中连续打印右侧结果?
【发布时间】:2014-08-02 06:45:08
【问题描述】:

我有我的代码:

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中怎么做?

【问题讨论】:

  • 我不明白为什么要对这个问题投反对票?
  • 如果你只想要一次,你应该在循环之前打印“result is:” ...

标签: python string python-2.7


【解决方案1】:
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,返回一个新的迭代,它将 x 中的所有项目都字符串化(e -> str(e))。 ', '.join(iterable) 使用给定的分隔符将元素为字符串的给定迭代(列表、生成器等)连接成字符串 1 字符串。最后,str.format() 按顺序将 {} 占位符替换为其参数。

【讨论】:

    【解决方案2】:

    由于要打印列表的所有元素,可以将所有数字转换为字符串,并用,将它们全部连接在一起,就像这样

    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)))
    

    【讨论】:

      【解决方案3】:
      x = 'result is: ';
      for i in range(0,5):
          x += str(i) + ',';
      print(x[:-1];
      

      会做你想做的事。以高度易读的形式,虽然不是最好的速度。

      【讨论】:

        【解决方案4】:

        同一件事的另一个版本:

        for i in range(0,5):
            if i == 0:
                print "result is %d" % i,
        else:
            print ",%d" % i,
        

        【讨论】:

        • 谢谢。如果我不知道范围。假设范围是(1,5)。第一个值可能是随机的,这种情况下怎么做
        【解决方案5】:

        在 Python3 中,您可以使用 print 函数的 end kwarg。这在 Python2 中是不可能的。

        print("The result is: ", end="")
        for i in range(5):
            print(str(i)+", ", end="")
        

        【讨论】:

        • 如果你从未来导入
        • 可以在 python2 中通过print foo, 注意最后的,。这会阻止它打印新行。
        猜你喜欢
        • 1970-01-01
        • 2013-07-07
        • 2014-11-08
        • 2016-03-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-07
        • 2020-08-01
        相关资源
        最近更新 更多