如何在字典列表中选择重复项

时间:2018-07-14 18:59:37

标签: python list dictionary duplicates append

Python新手:我正在使用字典列表来存储一个ASCII字符以及一个分数,而我现在想做的是,填写另一个包含所有重复字符(与分数无关)的字典列表。我怎样才能做到这一点? 我将这些值附加到列表上:lpdictlist.append({"ascii_code":a[2],"confidence":a[6]})

1 个答案:

答案 0 :(得分: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']