如果我有这样的给定字典:
{'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
[如果我有给定的字典,例如:{'avglen':4.419354838709677,'count:':93,'mosts:':'your','longs:':['stretched'],'shorts:': ['i','a'],}如何在新的...上打印每个键值...
如果您确实不想导入pprint但希望它“看起来像”字典,则可以这样做:
您可能正在寻找漂亮的打印机标准库pprint。例如:
迭代dict.items
并打印:
对于那些使用>>> import pprint
>>> pprint.pprint(d)
{'avglen': 4.419354838709677,
'count:': 93,
'longs:': ['stretched'],
'mosts:': 'your',
'shorts:': ['i', 'a']}
的用户,想知道为什么词典仍然不会将每个条目打印到新行:可能是词典条目或整个词典都太短
在过去大约六个问题中,您似乎正在将这本可怜的词典用作文本索引的对象。为什么不让它成为一个适当的课程?
为了快速打印,您可以使用字符串替换将换行符添加到输出中。如果字典中包含列表,则此方法不会产生漂亮的结果;这些列表还将获得换行符。