【发布时间】:2021-11-17 07:39:45
【问题描述】:
我在下面有一本字典:
a = [{'un': 'a', 'id': "cd"}, {'un': 'b', 'id': "cd"},{'un': 'b', 'id': "cd"}, {'un': 'c', 'id': "vd"},
{'un': 'c', 'id': "a"}, {'un': 'c', 'id': "vd"}, {'un': 'a', 'id': "cm"}]
我需要通过 'un' 键查找字典的重复项,例如 this {'un': 'a', 'id': "cd"} 和 this {'un': 'a', 'id ':“cm”} dicts 是键 'un' 的值的重复项,其次当发现重复项时,我需要决定保留哪个 dict 来保留键 'id' 的第二个值,例如,我们将 dict 保留为模式值“厘米”。
我已经迈出了第一步,请看下面的代码:
from collections import defaultdict
temp_ids = []
dup_dict = defaultdict(list)
for number, row in enumerate(a):
id = row['un']
if id not in temp_ids:
temp_ids.append(id)
else:
tally[id].append(number)
使用此代码我或多或少能够找到重复列表的索引,也许还有其他方法可以做到这一点。而且我还需要下一步的代码来决定什么 dict 保留和什么省略。非常感谢您的帮助。
【问题讨论】:
-
您需要为此使用字典列表吗?数据框可能更适合此类任务
-
您是要查找它们自己键的重复项还是
['un']处的值的重复项? -
重复值
-
我在 dicts 列表中获取 tis 数据,如果未来会尝试 hanks 的建议!
-
dict是用于创建字典的内置 python 命令,因此您可能希望避免将其用作变量名。
标签: python list python-2.7 dictionary