如何避免python循环中的最后一个逗号

时间:2018-10-15 15:40:45

标签: python python-3.x

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

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,

如何避免出现最后一个逗号

3 个答案:

答案 0 :(得分:8)

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

 print(*result, sep=',')

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

Wim的答案是您问题的正确答案,但是在其他情况下也可以使用更通用的方法。这种方法是:

  

与其在每个项目之后打印分隔符并尝试隐藏最后一个项目,不如在每个项目之前 打印分隔符并取消第一个项目。

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

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