Python OrderedDict使用
Pythonの辞書オブジェクトは、「キー:値」でデータにアクセスできます.OrderedDictは、辞書オブジェクト内の要素のソートを実現するサブクラスです.たとえば、次の2つの方法の違いを比較します.
出力結果は次のとおりです.
同様にABCの3つの要素が保存されているが、OrderedDictを使用すると、要素が入った順にソートされることがわかる.ソートが行われているため、OrderedDictオブジェクトの辞書オブジェクトは、その順序が異なる場合、Pythonも次のコードのような2つの異なるオブジェクトとして扱われます.
出力結果は次のとおりです.
変換元:http://www.onepub.net/2011/08/19/python-ordereddict%E4%BD%BF%E7%94%A8/
mport collections
print 'Regular dictionary:'
d={}
d['a']='A'
d['b']='B'
d['c']='C'
for k,v in d.items():
print k,v
print '
OrderedDict:'
d=collections.OrderedDict()
d['a']='A'
d['b']='B'
d['c']='C'
for k,v in d.items():
print k,v
出力結果は次のとおりです.
Regular dictionary:
a A
c C
b B
OrderedDict:
a A
b B
c C
同様にABCの3つの要素が保存されているが、OrderedDictを使用すると、要素が入った順にソートされることがわかる.ソートが行われているため、OrderedDictオブジェクトの辞書オブジェクトは、その順序が異なる場合、Pythonも次のコードのような2つの異なるオブジェクトとして扱われます.
import collections
print 'Regular dictionary:'
d1={}
d1['a']='A'
d1['b']='B'
d1['c']='C'
d2={}
d2['c']='C'
d2['a']='A'
d2['b']='B'
print d1==d2
print '
OrderedDict:'
d1=collections.OrderedDict()
d1['a']='A'
d1['b']='B'
d1['c']='C'
d2=collections.OrderedDict()
d2['c']='C'
d2['a']='A'
d2['b']='B'
print d1==d2
出力結果は次のとおりです.
Regular dictionary:
True
OrderedDict:
False
変換元:http://www.onepub.net/2011/08/19/python-ordereddict%E4%BD%BF%E7%94%A8/