【问题标题】:How to avoid last comma in python loop [duplicate]如何避免python循环中的最后一个逗号[重复]
【发布时间】:2018-10-15 15:40:45
【问题描述】:

我想以逗号分隔的形式打印结果输出,但我在最后一个值中也得到一个逗号,所以我该如何删除它。

import math

    d = input().split(',')
    d = [int(i) for i in d]
    c=50
    h=30
    result=[]
    for i in d:
        q=int(round(math.sqrt((2*c*i)/h)))
        result.append(q)
    for i in result:
        print(i, end=",")

这是我给出的输入和我得到的输出的示例

input : 10,20,30,40
output : 6,8,10,12,

我怎样才能避免得到最后一个逗号

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    将结果作为单独的参数传递并指定分隔符:

     print(*result, sep=',')
    

    【讨论】:

      【解决方案2】:

      您可以使用join 以逗号加入列表元素:

      print(', '.join(map(str, result)))
      

      【讨论】:

        【解决方案3】:

        wim 的答案适合您的问题,但可以在其他情况下使用更通用的方法。这种方法是:

        不是在每个项目之后打印分隔符并试图抑制最后一个,而是在每个项目之前打印分隔符并抑制第一个

        这更简单,因为它不需要能够检测到最后一个正在打印的项目。相反,您在进入循环之前将分隔符设置为空,然后在打印后将分隔符更改为逗号。 (在下面的示例中,我使用字符串格式;同样的想法。)

        fmt = "%s"
        for i in result:
            print(fmt % i, end="")
            fmt = ",%s"
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-01-24
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多