将值放入字典列表中,以便您拥有:
dictionary = {'q': [1, 7],
'w': [2]
}
等等,即,您的一项值是一项列表。这意味着当你有另一个'q'
, 你可以这样做:
dictionary['q'].append(5)
除了那个dictionary['q']
将是一个KeyError
第一次这样做时,请使用setdefault
反而:
dictionary.setdefault('q', []).append(5)
所以现在您只需要迭代输入列表中的每个键、值对,并对每个键、值对执行上述操作。
您可能还想拥有dictionary
be:
dictionary = collections.defaultdict(list)
所以你可以这样做dictionary['q'].append(5)
- 除了第一个方面之外,它的工作原理与上面的相同。如果在解析原始列表并正确设置所有值后,您的字典将如下所示:
dictionary = {'q': [1, 7, 5]
'w': [2, 8, 10, 80]
'x': [3]
}
你尝试做print(dictionary['y'])
。您预计会发生什么?如果你使用普通的字典并且setdefault
,这被认为是一个错误,因此会引发KeyError
。如果您使用defaultdict
,它将打印一个空列表。无论哪一个对您的代码更有意义,都应该确定您的编码方式。