假设我有这本字典:
items = {1: {'title': u'testing123', 'description': u'testing456'},
2: {'description': u'testing123', 'description': u'testing456'},
3: {'description': u'testing123', 'description': u'testing456'},
4: {'description': u'testing123', 'description': u'testing456'},
5: {'description': u'testing123', 'description': u'testing456'},
6: {'description': u'somethingelse', 'description': u'somethingelse'}}
我想过滤掉重复的值,这样最终我会得到
{1: {'title': u'testing123', 'description': u'testing456'}, 6: {'title': u'something', 'description': u'somethingelse'}}
我写了这段代码:
dic = {}
for key, value in items.items():
if not set(value.values()).issubset(set(dic.values())):
dic[key] = value
但是我收到错误消息TypeError: unhashable type: 'dict'
。我不确定为什么会发生这种情况以及如何解决它。
这是受到启发的另一个问题 https://stackoverflow.com/questions/27435395/removing-duplicate-items-by-value-within-a-dict以及我尝试解决它的失败。