【问题标题】:How can i select duplicates in a dict list如何在字典列表中选择重复项
【发布时间】:2018-12-22 20:41:05
【问题描述】:
Python 新手:我正在使用一个字典列表来存储一个 ascii 字符和一个分数,我现在想做的是,填写另一个包含所有重复字符(与分数无关)的字典列表。我怎样才能做到这一点?
我将这些值附加到列表中:lpdictlist.append({"ascii_code":a[2],"confidence":a[6]})
【问题讨论】:
标签:
python
list
dictionary
duplicates
append
【解决方案1】:
您可以使用集合模块中的Counter 类。一种可能的解决方案(即使 ascii_code 是整数值也有效):
from collections import Counter
lpdictlist = []
# lpdictlist.append({"ascii_code":a[2],"confidence":a[6]})
lpdictlist.append({"ascii_code":'a', "confidence":1})
lpdictlist.append({"ascii_code":'b', "confidence":2})
lpdictlist.append({"ascii_code":'a', "confidence":4})
lpdictlist.append({"ascii_code":'d', "confidence":10})
c = Counter(i['ascii_code'] for i in lpdictlist)
new_list = [k for k, v in c.items() if v > 1]
print(new_list)
打印:
['a']