首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python计数为列表的dict值中的项目

Python计数为列表的dict值中的项目
EN

Stack Overflow用户
提问于 2013-06-01 03:56:40
回答 5查看 62.6K关注 0票数 18

Python3.3,包含这种形式的键值对的字典。

代码语言:javascript
复制
d = {'T1': ['eggs', 'bacon', 'sausage']}

值是可变长度的列表,我需要迭代列表项。这是可行的:

代码语言:javascript
复制
count = 0
for l in d.values():
   for i in l: count += 1

但它很丑陋。一定有一种更有Pythonic风格的方法,但我似乎找不到。

代码语言:javascript
复制
len(d.values()) 

生成1。它是1列表(DUH)。尝试使用来自here的计数器会给出“unhashable type”错误。

EN

Stack Overflow用户

发布于 2016-12-30 17:56:02

当我发现这个主题时,我一直在寻找这个问题的答案,直到我意识到我的代码中已经有了一些东西可以用来使用这个主题。这是我想出来的:

代码语言:javascript
复制
count = 0

for key, values in dictionary.items():
        count = len(values)

如果要保存每个字典项的计数,可以创建一个新字典来保存每个键的计数。

代码语言:javascript
复制
count = {}

for key, values in dictionary.items():
        count[key] = len(values)

我不能准确地找到这个方法在哪个版本中可用,但我认为.items方法只在Python3中可用。

票数 -1
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16864941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档