私が次のような辞書を持っている場合:
{ 'a': 1, 'b': 2, 'c': 3 }
どうすればこれに変換できますか?
[ ('a', 1), ('b', 2), ('c', 3) ]
そして、どうすればこれに変換できますか?
[ (1, 'a'), (2, 'b'), (3, 'c') ]
x既に含まtupleれている場合(sのitems反復可能オブジェクトを生成するのはその性質ですtuple)、単に行う方が簡単/高速です[x[::-1] for x in d.items()]。逆スライスtupleは、tuple反復子からコンストラクターに繰り返し割り当て(最後に割り当て超過とサイズ変更)するのではなく、適切なサイズの反転を直接作成tupleしreversedます。
k, vパターンが必要なわけではないことを明示したかっただけです。
compatibility py2.x // py3.xの違いのためにタグを追加
[tuple(reversed(x)) for x in d.items()]