Якщо у мене є словник типу:
{ '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()]