1

通常、辞書内のキー/値の順序は任意であることを知っています。しかし、辞書を「手書き」で宣言し (以下を参照)、キーを追加したり削除したりしない場合、これはキーの順序が宣言どおりに保持されることを意味しますか?

いくつかの簡単な実験を行ったところ、答えはイエスのようですが、これを当てにする前に、確認したいと思いました.

「手書き」とは、各キーと値を一度に明示的に宣言することを意味します。

myDict = {key1: val1, key2: val2, key3: val3, .... }
4

1 に答える 1

11

Python では、辞書は本質的に順不同です。collections.OrderedDict順序を維持したい場合に使用します。挿入順序collections.OrderedDictが保持されることに注意してください。

また、キーが宣言順に保持されるという概念の反例:

>>> {1:2, 4:5, 2:3}
{1: 2, 2: 3, 4: 5}

辞書キーもソートする必要はありません。

>>> {-1:-1, -2:-2, 1:1}
{1: 1, -2: -2, -1: -1}

したがって、辞書のキーがOrderedDict.

于 2013-01-30T20:48:44.603 に答える