なぜこの辞書を繰り返すのか
d = {'tors':None,
'head':None,
'armr':None,
'arml':None,
'legl':None,
'legr':None}
for k in d.keys():
print k
キーを異なる順序で出力します。
head
legl
armr
arml
tors
legr
なぜこの辞書を繰り返すのか
d = {'tors':None,
'head':None,
'armr':None,
'arml':None,
'legl':None,
'legr':None}
for k in d.keys():
print k
キーを異なる順序で出力します。
head
legl
armr
arml
tors
legr
Pythondict
ではハッシュ マップとして実装されており、キーの順序を保証することはできません。ドキュメントから
CPython 実装の詳細: キーと値は任意の順序でリストされます。これはランダムではなく、Python 実装によって異なり、辞書の挿入と削除の履歴に依存します。
注文を続ける必要がある場合は、collections.OrderedDict
代わりに使用してください。
これは仕事をするはずです:
import collections
ordered_d = collections.OrderedDict([('banana', 3),('apple',4),('pear', 1),('orange', 2)])
for k in ordered_d.keys():
print k
結果:
banana
apple
pear
orange