0
私は3要素のタプルのリストを持っています。私は保存された順序でそれを辞書に変換したい。3要素のタプルのリストを順序付けられた辞書に変換する
>>> a = [('one', '0', '1'), ('two', '0', '0'), ('three', '1', '1')]
>>> x = OrderedDict({sb[0]: sb[1:] for sb in a})
>>> x
OrderedDict([('three', ('1', '1')), ('two', ('0', '0')), ('one', ('0', '1'))])
私は注文が変更されているのを、わかりません。誰かがこの問題を解決するのを助けてくれますか?
これらの括弧は必要ありません。関数(またはこの場合のコンストラクタ)への唯一の引数がgenexprである場合、呼び出しはgenexprの括弧の2倍であるため、これはうまくいきます: 'OrderedDict((sb [0]、sb [1:])in sb in a) '。重要なのは、 'dict'を最初に作ってしまえばすでにオーダーを失っているので、' OrderedDict'はそれを回復できないので、 '{}'を削除することです( 'dict'の理解になります)。 – ShadowRanger