3 回答
TA贡献1786条经验 获得超11个赞
sum()每个字典值的使用和长度:
count = sum(len(v) for v in d.itervalues())
如果您使用的是Python 3,则只需使用即可d.values()。
使用您的输入示例和以下示例之一进行快速演示:
>>> d = {'T1': ['eggs', 'bacon', 'sausage']}
>>> sum(len(v) for v in d.itervalues())
3
>>> d = {'T1': ['eggs', 'bacon', 'sausage'], 'T2': ['spam', 'ham', 'monty', 'python']}
>>> sum(len(v) for v in d.itervalues())
7
一个Counter不会帮助你在这里多,你是不是创建每个条目的计数,你计算所有的值的总长度。
TA贡献1797条经验 获得超6个赞
>>> d = {'T1': ['eggs', 'bacon', 'sausage'], 'T2': ['spam', 'ham', 'monty', 'python']}
>>> sum(map(len, d.values()))
7
TA贡献1777条经验 获得超3个赞
在Treehouse上做作业时,我想到了这一点。至少(我知道)可以通过一个步骤使它变得更简单,但是对于初学者(如我自己)来说,理解此版本可能会更容易。
dict = {'T1': ['eggs', 'bacon', 'sausage'], 'T2': ['bread', 'butter', 'tosti']}
total = 0
for value in dict:
value_list = dict[value]
count = len(value_list)
total += count
print(total)
添加回答
举报