PYTHON——OrderedDict 有序無序字典轉換

import json
from collections import OrderedDict  # 有序字典


foo = {'b': 1, 'c': 2}

# 無序字典轉爲有序字典
foo = OrderedDict(foo)  
        # foo == OrderedDict([('c', 2), ('b', 1)])

foo['a'] = 0  
        # foo == OrderedDict([('c', 2), ('b', 1), ('a', 0)])

# 簡單有序字典轉爲無序字典
foo = dict(foo)  
        # foo == {u'a': 0, u'c': 2, u'b': 1}

# 複雜有序字典轉爲無序字典
bar = OrderedDict({'a': OrderedDict(b=0, c=1)})  
        # bar == OrderedDict([('a', OrderedDict([('c', 1), ('b', 0)]))])
bar = json.loads(json.dumps(bar))
        # bar == {u'a': {u'c': 1, u'b': 0}}

結論:

    簡單OrderedDict 可由 dict(xxx) 轉爲無序字典。

    複雜OrderedDict 有序字典 可由 json.loads(json.dumps(xxx)) 轉爲無序字典。

推薦使用json實現轉換。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章