Python 如何打印字典中单词的频率

Python 如何打印字典中单词的频率,python,Python,下面是问题(来自Grok Learning): 你正在进行一项民意调查,以找出你朋友最喜欢的甜点,并决定编写一个程序,帮助你跟踪所有建议以及每个建议的投票人 你的程序应该连续读取包含此人姓名的行(直到一个空行),然后是冒号(:),然后是他们最喜欢的甜点 您的程序应该是这样工作的,以任意顺序打印结果: 他们想要: Name:vote Harry:treacle tart Name:vote Hermione:chocolate frogs Name:vote Hagrid:rock cake Na

下面是问题(来自Grok Learning):

你正在进行一项民意调查,以找出你朋友最喜欢的甜点,并决定编写一个程序,帮助你跟踪所有建议以及每个建议的投票人

你的程序应该连续读取包含此人姓名的行(直到一个空行),然后是冒号(:),然后是他们最喜欢的甜点

您的程序应该是这样工作的,以任意顺序打印结果:

他们想要:

Name:vote Harry:treacle tart
Name:vote Hermione:chocolate frogs
Name:vote Hagrid:rock cake
Name:vote Ron:chocolate frogs
Name:vote 
treacle tart 1 vote(s): Harry
rock cake 1 vote(s): Hagrid
chocolate frogs 2 vote(s): Hermione Ron
这是我目前的代码:

votes= {}

line = input('Name:vote ')
while line:
  name, vote = line.split(':')
  if vote not in votes:
    votes[vote] = [name]
  else:
    votes[vote].append(name)
  line = input('Name:vote ')


for vote in votes:
  print(vote, 'vote(s):', ' '.join(votes[vote])) 

其中:

Name:vote Harry:treacle tart
Name:vote Hermione:chocolate frogs
Name:vote Hagrid:rock cake
Name:vote Ron:chocolate frogs
Name:vote 
treacle tart vote(s): Harry
rock cake vote(s): Hagrid
chocolate frogs vote(s): Hermione Ron

我不知道如何打印每个名字投票的频率。{p>
print({}{}投票:{}。格式(投票,len(投票[投票]),投票[投票])
打印({{}投票:{})。格式(投票,len(投票[投票]),投票[投票])
只需在输出中添加
投票[投票]的长度即可:

for vote in votes:
  print(vote, ' ', len(votes[vote]), ' vote(s):', ' '.join(votes[vote])) 

只需在输出中添加
投票[投票]
的长度:

for vote in votes:
  print(vote, ' ', len(votes[vote]), ' vote(s):', ' '.join(votes[vote])) 

只需计算姓名列表的长度<代码>len(投票[投票])
。到目前为止做得不错。你就快到了。只需看看名单的长度<代码>len(投票[投票])。到目前为止做得不错。你快到了。