je dict
des emboîtés list
s:Convertir dict de listes imbriquées à la liste des tuples
d = {'a': [[('a1', 1, 1), ('a2', 1, 2)]], 'b': [[('b1', 2, 1), ('b2', 2, 2)]]}
print (d)
{'b': [[('b1', 2, 1), ('b2', 2, 2)]], 'a': [[('a1', 1, 1), ('a2', 1, 2)]]}
Je dois créer list
de tuple
s comme:
[('b', 'b1', 2, 1), ('b', 'b2', 2, 2), ('a', 'a1', 1, 1), ('a', 'a2', 1, 2)]
J'ai essayé:
a = [[(k, *y) for y in v[0]] for k,v in d.items()]
a = [item for sublist in a for item in sublist]
Je pense que ma solution est un peu trop compliquée. Y a-t-il une solution meilleure, plus pythonique, peut-être une ligne?
'[(k,) + v ...' fonctionnerait aussi –
@ Ev.Kounis: non ce n'est pas le cas, 'v' n'est pas un tuple. –
@ Ev.Kounis: et je trouve '(k, * t)' plus net que '(k,) + t'. –