【发布时间】:2014-10-06 17:34:40
【问题描述】:
d = {
'a': [1, 2, 3],
'b': [4, 5, 6]
}
def magic_fun(d):
??
magic_fun(d) ->
[[('a', 1), ('a', 2), ('a', 3)],
[('b', 4), ('b', 5), ('b', 6)]]
替换??使用 python 单行列表理解。 可行吗?
如果我这样做:
>>> [(key, value) for key, values in d.iteritems() for value in values]
[('a', 1), ('a', 2), ('a', 3), ('b', 4), ('b', 5), ('b', 6)]
但我丢失了第一级列表。一切都变平了……
PS:这对我来说并不是很有用,我可以用 for 循环来做,但我很惊讶我找不到用列表理解来做的方法......
【问题讨论】:
标签: python dictionary list-comprehension