【问题标题】: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 之后的最后一个逗号?
  • 每行的最后一个逗号。

标签: python list comma


【解决方案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
          

          【讨论】:

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