Если у меня есть словарь, как:
{ 'a': 1, 'b': 2, 'c': 3 }
Как я могу преобразовать это в это?
[ ('a', 1), ('b', 2), ('c', 3) ]
И как я могу преобразовать это в это?
[ (1, 'a'), (2, 'b'), (3, 'c') ]
xчто уже есть tupleв вашем коде (это природа itemsсоздания итерируемого из tuples), было бы проще / быстрее просто сделать [x[::-1] for x in d.items()]; реверсивный срез напрямую создает реверсированный tupleправильный размер, вместо того, чтобы tupleконструктор итеративно заполнял (с перераспределением и изменением размера в конце) a tupleиз reversedитератора.
k, vв таких случаях не всегда требуется шаблон.
compatibilityтег из-за различий py2.x // py3.x
[tuple(reversed(x)) for x in d.items()]