如何使字典的每个键值打印在一个新行上?

新手上路,请多包涵

如果我有这样一个给定的字典:

 {'avglen': 4.419354838709677, 'count:': 93, 'mosts:': 'your', 'longs:': ['stretched'], 'shorts:': ['i', 'a'],}

如何在新行上打印每个键值?

好吧,它很长,但这是我用来获取这本词典的代码。我几乎将每个键值添加到字典中。所以我想出了最短的单词,然后将其添加到字典中。我也注意到有额外的冒号。但我想出了它的价值的一部分,我可以使用 .replace() 把它拿走?

 def build_report(freq):
    report={}
    freq_list=list(freq.keys())
    keys=sorted(freq, key=len)
    #for shorts:
    shortest=keys[0]
    shortest = [keys[0]]
    for key in keys[1:]:
        if len(key) == len(shortest[0]):
            shortest.append(key)
        else:
            break
    report["shorts:"]=shortest
    #for longs:
    longest=keys[-1]
    longest = [keys[-1]]
    for key in reversed(keys[:-1]):
        if len(key) == len(longest[0]):
            longest.append(key)
        else:
            break
    report["longs:"]=longest
    #for mode:
    val_list=list(freq.values())
    sorted_val_list=sorted(val_list)
    mode=sorted_val_list[-1]
    for key in freq.keys():
        if freq[key]==mode:
            mode_word=key
    report["mosts:"]=mode_word
    # for word count:
    wordcount=len(list(freq.keys()))
    report["count:"]=wordcount
    #for average length:
    avg=list(freq.keys())
    average=sum(map(len,avg))/len(avg)
    report["avglen"]=average
    #for freq dictionary of word to word count
    freqs=freq
    report["freqs:"]=freqs
    return report

原文由 user2976821 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 450
2 个回答

如果你真的不想导入 pprint 但希望它“看起来像”一本字典,你可以这样做:

 print("{" + "\n".join("{!r}: {!r},".format(k, v) for k, v in d.items()) + "}")

原文由 jonrsharpe 发布,翻译遵循 CC BY-SA 4.0 许可协议

您可能正在寻找 pprint ,漂亮的打印机标准库。例如:

 import pprint
pprint.pprint({'avglen': 4.419354838709677,
               'count:': 93,
               'mosts:': 'your',
               'longs:': ['stretched'],
               'shorts:': ['i', 'a'],})

产出

{'avglen': 4.419354838709677,
 'count:': 93,
 'longs:': ['stretched'],
 'mosts:': 'your',
 'shorts:': ['i', 'a']}

原文由 Nathan Davis 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题