1
私はちょうどうまく動作する小さなプログラムを持っています。私は自分のコードを(自分自身で)少しだけ良くしようとするために自分のコードを再検討するように強制しようとしています。forループを辞書の理解に変換する
temp2 = {}
for key in sorted(temp1.keys()):
temp2[key] = temp1[key]
辞書理解のように書き換えることができませんでした。コードのこの小さな部分があれば
私は思っていました。
主に私の経験の深い欠如のために私は これを理解することができません。
すべてのループは辞書temp1
を取り、ソートして新しくソートされたkey:value
のペアをtemp2
に配置します。
私が上で述べたように、すべてがそのまま動作しますが、私は改良を行うことができる パターンを見つけることを試みています。直接辞書理解にこれを翻訳
2番目の答えは、私は(OrderedDictを含む)第三の選択肢がテーブルにもたらすかと思ったので、完全に働きました。オプション#3はいつより適切な選択肢になりますか?ありがとう。 – MarkS
@マークスああ、ちょっと複雑です。辞書自体は**順不同**なので、辞書をソートするのは定義上失敗することになります。しかし、3.6ディクショナリからはじまり**の**になりました**しかし、公式にはそれはちょっと変わる可能性のある "実装の詳細"です。ですから、異なるPythonバージョンで動作させたい、あるいは "安全に遊びたい"場合は、絶対に 'OrderedDict'を使う必要があります。 OrderedDictを注文する必要がある場合は、 'dict'より優先させるのがベストプラクティスであるため、ほとんど私はそれを追加しました。 :) – MSeifert