如何解决查找顶级词典值
我已经汇总了3个词典(城市,子国家/地区,国家/地区)
我需要一个函数,这些函数将为我提供这些词典的前n个结果。
到目前为止,我的代码只给了我参数中未定义的前3个或前n个的顶部。
def top_items(item_counts,n=3):
d = collections.Counter(item_counts)
d.most_common()
for k,v in d.most_common(n):
return (k,v)
我只尝试了d = Counter(item_counts),但是它给出了错误Counter未定义。我还导入了re和collections。
我正在尝试跑步
print('top cities:',top_items(cities))
print('top states:',top_items(subcountries))
print('top countries:',top_items(countries))
但是得到
top cities: ('',665)
top states: ('',552)
top countries: ('',502)
解决方法
for循环中的return语句使函数在循环的第一次迭代过程中终止。如果您想返回 n 最常见的项目,则只需编写
def top_items(items,n=3):
counts = collections.Counter(items)
return counts.most_common(n)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。