1
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. Это выполнимо?python unpacked dictionary of list
Если я это сделать:
>>> [(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: Это не очень полезно для меня, я мог бы сделать это для цикла, но я удивлен, что не могу найти способ сделать это со списком. .
Сэр, это действительно так. –