我有一個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
@thefourtheye,不是。任何訂單都沒問題。下面的兩個答案很快就完成了。 :) – Newtt
另外,你有一個Python詞典列表:-) – thefourtheye