【问题标题】:Python 2.7: Print a dictionary without brackets and quotation marksPython 2.7:打印不带括号和引号的字典
【发布时间】:2017-02-25 12:42:18
【问题描述】:
myDict = {"Harambe" : "Gorilla", "Restaurant" : "Place", "Codeacademy" : "Place to learn"}

所以,我想打印一本字典。但我想让它看起来像一个实际的事情清单。我不能只做print myDict,因为它会留下所有丑陋的东西。我希望输出看起来像Harambe : Gorilla, Restaurant : Place, etc

那我该怎么办?我还没有找到满足我想要的帖子。提前致谢。

【问题讨论】:

    标签: python python-2.7 dictionary printing


    【解决方案1】:

    使用items字典方法:

    print('\n'.join("{}: {}".format(k, v) for k, v in myDict.items()))
    

    输出:

    Restaurant: Place
    Codeacademy: Place to learn
    Harambe: Gorilla
    

    展开:

    for key, value in myDict.items():
        print("{}: {}".format(key, value))
    

    【讨论】:

    • 这是我尝试的第一个,它成功了!谢谢!
    【解决方案2】:

    我不确定这是否是 python 3.x 的东西(顺便说一句,第一篇文章),但我在列表中遇到了这个问题,并发现这对我有用:

    list = [
     {'Key1': 'Value1', 'Key2': 'Value2'},
     {'Key1': 'Value1', 'Key2': 'Value2'}
     ]
    
    for i in list:
     print('Key1: ', i['Key1'], 'Key2: ', i['Key2'])
    

    【讨论】:

      【解决方案3】:

      我的解决方案:

      print ', '.join('%s : %s' % (k,myDict[k]) for k in myDict.keys())
      

      【讨论】:

        【解决方案4】:

        还有一个,在 python 3 中:

        print(*['{} : {}'.format(k,v) for k,v in myDict], sep = "\n")
        

        【讨论】:

          【解决方案5】:

          你可以试试这样的。

          for (i, j) in myDict.items():
              print "{0} : {1}".format(i, j), end = " " 
          

          请注意,由于字典不关心顺序,因此输出很可能更像Restaurant : Place Harambe : Gorilla Codeacademy : Place to learn

          【讨论】:

            猜你喜欢
            • 2021-11-16
            • 1970-01-01
            • 2021-09-01
            • 2015-11-14
            • 2021-08-27
            • 1970-01-01
            • 1970-01-01
            • 2022-01-10
            相关资源
            最近更新 更多