私が次のような辞書を持っている場合:
{ '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()]