Se ho un dizionario come:
{ 'a': 1, 'b': 2, 'c': 3 }
Come posso convertirlo in questo?
[ ('a', 1), ('b', 2), ('c', 3) ]
E come posso convertirlo in questo?
[ (1, 'a'), (2, 'b'), (3, 'c') ]
xè già un tuplenel tuo codice (è la natura di itemsprodurre un iterabile di tuples), sarebbe più semplice / veloce farlo [x[::-1] for x in d.items()]; la sezione di inversione costruisce direttamente un'inversione tupledelle dimensioni appropriate anziché far tuplepopolare iterativamente il costruttore (con sovrallocazione e ridimensionamento alla fine) a tupleda un reversediteratore.
k, vin questi casi non è sempre necessario un modello.
compatibilitytag a causa delle differenze py2.x // py3.x
[tuple(reversed(x)) for x in d.items()]