【发布时间】:2015-09-06 22:16:29
【问题描述】:
我有一个看起来像这样的 Python 字典对象:
[{"house": 4, "sign": "Aquarius"},
{"house": 2, "sign": "Sagittarius"},
{"house": 8, "sign": "Gemini"},
{"house": 3, "sign": "Capricorn"},
{"house": 2, "sign": "Sagittarius"},
{"house": 3, "sign": "Capricorn"},
{"house": 10, "sign": "Leo"},
{"house": 4, "sign": "Aquarius"},
{"house": 10, "sign": "Leo"},
{"house": 1, "sign": "Scorpio"}]
现在对于每个“符号”键,我想计算每个值出现的次数。
def predominant_sign(data):
signs = [k['sign'] for k in data if k.get('sign')]
print len(signs)
但是,这会打印“符号”在字典中出现的次数,而不是获取 sign 的值并计算特定值出现的次数。
例如,我想看到的输出是:
Aquarius: 2
Sagittarius: 2
Gemini: 1
...
等等。我应该改变什么以获得所需的输出?
【问题讨论】:
-
您希望结果按任何特定顺序排列?
-
@thefourtheye,不是真的。任何顺序都可以。下面的两个答案很快就奏效了。 :)
-
另外,你有一个 Python 字典列表 :-)
标签: python python-2.7 dictionary