Python3.3,包含这种形式的键值对的字典。
d = {'T1': ['eggs', 'bacon', 'sausage']}值是可变长度的列表,我需要迭代列表项。这是可行的:
count = 0
for l in d.values():
for i in l: count += 1但它很丑陋。一定有一种更有Pythonic风格的方法,但我似乎找不到。
len(d.values()) 生成1。它是1列表(DUH)。尝试使用来自here的计数器会给出“unhashable type”错误。
发布于 2016-12-30 17:56:02
当我发现这个主题时,我一直在寻找这个问题的答案,直到我意识到我的代码中已经有了一些东西可以用来使用这个主题。这是我想出来的:
count = 0
for key, values in dictionary.items():
count = len(values)如果要保存每个字典项的计数,可以创建一个新字典来保存每个键的计数。
count = {}
for key, values in dictionary.items():
count[key] = len(values)我不能准确地找到这个方法在哪个版本中可用,但我认为.items方法只在Python3中可用。
https://stackoverflow.com/questions/16864941
复制相似问题