如何从输出中删除最后一个逗号

Posted

技术标签:

【中文标题】如何从输出中删除最后一个逗号【英文标题】:How do I remove the last comma from the output 【发布时间】:2021-10-01 05:30:46 【问题描述】:
n=3
result=[[1,2,3],[4,5,6],[7,8,9]]
for i in range(n):
    for j in range(n):
        print(result[i][j],end=',')
    print()

输出: 1,2,3, 4,5,6, 7,8,9,

我得到了我想要的输出,但是如何删除最后一个逗号?

【问题讨论】:

您要删除每行的最后一个逗号,还是只删除 9 之后的最后一个逗号? 每行的最后一个逗号。 【参考方案1】:

更简单的方法:

result = [[1,2,3],[4,5,6],[7,8,9]]

for r in result:
    print(*r, sep=',')

【讨论】:

【参考方案2】:

这是一个使用列表理解的简洁解决方案:

result = [[1,2,3],[4,5,6],[7,8,9]]
for r in result:
    print(','.join([str(x) for x in r]))

打印出来:

1,2,3
4,5,6
7,8,9

【讨论】:

【参考方案3】:

您可以单独打印第一个,然后在循环中,在左侧用逗号打印其余部分:

result=[[1,2,3],[4,5,6],[7,8,9]]
for i in result:
    print(i[0], end='')
    for j in range(1, len(i)):
        print("," + str(i[j]), end='')
    print("")

【讨论】:

【参考方案4】:

我更喜欢 str.join 的单行代码:

>>> print(*(','.join(map(str, i)) for i in result), sep='\n')
1,2,3
4,5,6
7,8,9
>>> 

或者:

>>> '\n'.join([','.join(map(str, i)) for i in result])
1,2,3
4,5,6
7,8,9
>>> 

【讨论】:

【参考方案5】:

您可以使用Ternary operators 来实现。

n=3
result=[[1,2,3],[4,5,6],[7,8,9]]
for i in range(n):
    for j in range(n):
        print(result[i][j],end=',' if j %3 < 2 else '\n')

这将打印出来

1,2,3
4,5,6
7,8,9

【讨论】:

以上是关于如何从输出中删除最后一个逗号的主要内容,如果未能解决你的问题,请参考以下文章

删除foreach最后一个逗号PHP [重复]

jQuery从数组中删除最后一个逗号

如何删除 D3 轴刻度中的逗号并删除最后一个刻度?

如何删除数组中的最后一个逗号和空格? Java [重复]

JSON 从最后一个对象中删除尾随逗号

从使用 foreach 循环构造的 JSON 中删除最后一个逗号 [重复]