違いは、通常の辞書で辞書を命じました

差分Pythonは普通の辞書で辞書を命じました

最近Djangoは辞書の秩序ある発展に使用されるので、少し、以下を検討します。

例:

典型的には、辞書などを注文辞書それは挿入要素順序を記録し、辞書意志概して任意の順序反復することができます。

普通の辞書:

1 d1={}
2 d1['a']='A'
3 d1['b']='B'
4 d1['c']='C'
5 d1['d']='D'   #此时的d1 = {'a':'A','b':'B','c':'C','d':'D'}
6 for k,v in d1.items():
7     print k,v

出力は次のようになります。

1 a A
2 c C
3 b B
4 d D

上記通常の辞書の結果から分かるように、出力が乱れて横断されます。

注文した辞書は、(コレクションパッケージをインポートする必要があります)を以下に示します。

1 import collections
2 d1={}
3 d1=collections.OrderedDict()  #将普通字典转换为有序字典
4 d1['a']='A'
5 d1['b']='B'
6 d1['c']='C'
7 d1['d']='D'
8 for k,v in d1.items():
9     print k,v

出力は次のようになります。

1 a A
2 b B
3 c C
4 d D

見つけるのは困難ではない2つの出力の比較では、注文した辞書辞書挿入順序は、出力要素とすることができます

注文した辞書の役割は、単に挿入エレメントと順次出力の順番を覚えているので、なぜ上記の2つの例辞書のインサート要素ではなく、良い辞書理由は、要素の定義を開始します。

良いスタートの辞書の定義の要素の順序は、この行動の背後にある要素は、その後、注文した辞書を横断挿入されていない場合は、その出力は、空であるため、この条件の秩序挿入の欠如、この場合は注文した辞書でそうその効果を失いますので、注文した辞書は、一般的に加算出力の順序によって必要なときに動的に追加するために使用されます

例えば:

1 import collections
2 d2 = {'a':'A','b':'B','c':'C','d':'D'}
3 d2=collections.OrderedDict()  #将普通字典转换为有序字典
4 for k,v in d2.items():
5     print k,v

その出力はnullです。

おすすめ

転載: www.cnblogs.com/g15009428458/p/11605217.html