【问题标题】:For loop - Efficient way of printFor 循环 - 高效的打印方式
【发布时间】:2021-01-10 16:43:18
【问题描述】:

我需要一些帮助来纠正输出。

我想显示这样的输出:d:7,s:7,e:6,j:4,w:3

有没有办法删除w:3之后的 , ?

当前代码

for i in high:
     print(i[0], ":", i[1], ",", end="")

电流输出

d:7,s:7,e:6,j:4,w:3, 

【问题讨论】:

    标签: python for-loop printing formatting output


    【解决方案1】:

    试试:

    print(','.join(f'{i[0]}:{i[1]}' for i in high))
    

    【讨论】:

    • 它打印了 5 次 for i in high: print(','.join(f'{i[0]}:{i[1]}' for i in high)) d: 7,s:7,e:6,j:4,w:3 d:7,s:7,e:6,j:4,w:3 d:7,s:7,e:6,j: 4,w:3 d:7,s:7,e:6,j:4,w:3 d:7,s:7,e:6,j:4,w:3
    • 有了这个版本,您不再需要循环遍历high。循环在进入str.join() 方法的生成器中完成。只需使用给定的代码 sn-p。
    【解决方案2】:

    试试这个:

    for i in range(len(high) - 1):
       item = high[i]
       print(f"{item[0]} : {item[1]},", end="")
    
    item = high[-1]
    print(f"{item[0]} : {item[1]}" end="")
    

    我知道这不仅仅是一个循环,而是最简单的解决方案。 另外,下次您提出问题时,请给出您正在工作的价值 与。

    【讨论】:

      【解决方案3】:

      下面的代码应该可以解决您遇到的问题。

      print(','.join(f'{i[0]}:{i[1]}' for i in high]))
      

      输出

      d:7,s:7,e:6,j:4,w:3
      

      它使用 str.join() 函数 (link to docs) 和 list 理解来实质上打印由 str (f'{i[0]}:{i[1]}') for i in high 组成的 list,每个 list 元素为用逗号分隔。

      【讨论】:

        【解决方案4】:

        试试:

           high = "d:7,s:7,e:6,j:4,w:3,"
           high_split = high.split(',')
           remove_empty_entries = list(filter(None, high_split))
        
           high_join = ",".join(remove_empty_entries)
           print(high_join)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-04-26
          • 2019-11-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多