簡體   English   中英

從字典列表中返回唯一值的計數

[英]Return count of unique values from list of dictionaries

我有一個字典列表:

event_results = [{'device': 'prod2261.example.com'}, {'device': 'npbodb253.example.com'}, {'device': 'db221.example.com'}, {'device': 'db219.example.com'}, {'device': 'db209.example.com'}, {'device': 'db243.example.com'}, {'device': 'prod277.example.com'}, {'device': 'prod2228.example.com'}, {'device': 'prod2252.example.com'}, {'device': 'prod2116.example.com'}, {'device': 'prod224.example.com'}, {'device': 'db223.example.com'}, {'device': 'db229.example.com'}, {'device': 'prod2116.example.com'}, {'device': 'db221.example.com'}, {'device': 'db239.example.com'}, {'device': 'npbodb249.example.com'}, {'device': 'db210.example.com'}, {'device': 'db219.example.com'}, {'device': 'db243.example.com'}, {'device': 'prod2210.example.com'}, {'device': 'prod224.example.com'}, {'device': 'npbodb253.example.com'}, {'device': 'npbovwa018.example.com'}, {'device': 'npbovwa018.example.com'}, {'device': 'db221.example.com'}, {'device': 'db243.example.com'}, {'device': 'prod2228.example.com'}]

我需要獲取值,並計算唯一值。

輸出示例如下:

prod2261.example.com, 2
prod2261.example.com, 5
....etc....

到目前為止,我可以獲得一組所有唯一值:

unique_values = set(e['device'] for e in event_results)

但是我一直在努力遍歷兩個列表,並只返回unique_values集中每個項目的計數,而沒有創建一堆臨時列表,並且先將值存儲在len()中。

我認為解決方案與列表理解有關,但是我只是無法解決。

只需使用collections.Counter而不是set :)

import collections
unique_counts = collections.Counter(e['device'] for e in event_results)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM