mam dict
zagnieżdżonych list
s:Konwersja DICT zagnieżdżonych list do listy krotek
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)]]}
muszę tworzyć list
z tuple
s jak:
[('b', 'b1', 2, 1), ('b', 'b2', 2, 2), ('a', 'a1', 1, 1), ('a', 'a2', 1, 2)]
Próbowałem:
a = [[(k, *y) for y in v[0]] for k,v in d.items()]
a = [item for sublist in a for item in sublist]
Myślę, że moje rozwiązanie jest nieco zbyt skomplikowane. Czy jest jakieś lepsze, bardziej pytonowe, może jedno liniowe rozwiązanie?
'[(k,) + v ...' również działałby –
@ Ev.Kounis: nie, nie, 'v' nie jest krotką. –
@ Ev.Kounis: i uważam '(k, * t)' za schludniejszy niż '(k,) + t'. –