【发布时间】:2016-03-05 00:26:08
【问题描述】:
我有两个变量要使用collections.defaultdict(list) 添加到字典中
这是两个变量:
score = [0, 5, 7, 7, 8, 7]
match = ['turtle', 'cat', 'horse', 'horse', 'dog', 'bear']
我想做的是删除字典中已经存在的键/值对。现在我正在使用这种方法创建我的字典:
scoring = collections.defaultdict(list)
scoring[score].append(match)
但是,这种方法给了我一个像这样的字典:
dictionary = {0: ['turtle'], 5: ['cat'], 7: ['horse', 'horse', 'bear'], 8: ['dog']}
但是,我只希望 horse 在字典中出现一次。有没有办法防止以这种方式在字典中添加相同的键/值对?
【问题讨论】:
-
如果您不关心订购,您可以使用套装。只需将 defaultdict 参数更改为
set并将方法从list.append更改为set.add。 -
.... 或在
defaultdict(list)之外使用第二个defaultdict(set)来查看已添加的元素。
标签: python dictionary