2017-04-06 88 views

回答

3

只需使用列表理解:

[(k,vi) for k,v in d.items() for vi in v] 

与样品的输入,这会产生:

>>> d = {'a': [1, 2], 'b': [4, 5, 6]} 
>>> [(k,vi) for k,v in d.items() for vi in v] 
[('a', 1), ('a', 2), ('b', 4), ('b', 5), ('b', 6)] 

注意,在大多数Python版本(不是最新的一个),字典是无序的。因此,密钥的顺序可以在输出方面有所不同(而不是/密钥)。所以[('b', 4), ('b', 5), ('b', 6), ('a', 1), ('a', 2)]也是一个可能的结果。你无法解决这个问题(展开),因为从你构建这样的字典的那一刻起,订单就会丢失。

相关问题