【发布时间】:2013-12-09 12:28:13
【问题描述】:
如果我有这样的字典:
{'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
【问题讨论】:
-
请注意,您的键中似乎有剩余的冒号。我会看看你在做什么来生成那个字典。
-
@DSM 我添加了生成字典的代码
标签: python python-3.x dictionary