计算词典列表中的唯一项目,python27

时间:2015-11-17 17:04:07

标签: python dictionary count duplicates

我有一个列表,该列表包含字典。列表中可能存在重复的词典。

我正在尝试列出列表中唯一的字典。

我尝试过使用collections.Counter,但是我收到一条错误,说明这些项目(列表中的字典)不可清除。

最终,我想返回一个仅包含唯一字典的列表,每个字典将包含一个带有-'cnt'的新键/值对:。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

new_list = []
counts = []

for dict_ in your_list:
    try:
        i = new_list.index(dict_)
    except ValueError:
        counts.append(1)
        new_list.append(dict_)
    else:
        counts[i] += 1

assert len(counts) == len(new_list)
for dict_, count in zip(new_list, counts):
    dict_['cnt'] = count

del counts