在您的字典列表中创建值,以便您拥有:
dictionary = {'q': [1, 7],
'w': [2]
}
等等。即,您的单项值是单项列表。这意味着当您有另一个'q' 时,您可以这样做:
dictionary['q'].append(5)
除了dictionary['q'] 将是KeyError 第一次执行此操作时,请改用setdefault:
dictionary.setdefault('q', []).append(5)
所以现在您只需要遍历输入列表中的每个键值对,并为每个键值对执行上述操作。
您也可以选择dictionary 为:
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,它将打印一个空列表。无论哪种方式对您的代码更有意义,都应该确定您的编码方式。