當前位置:成語大全網 - 新華字典 - python3中的ordereddict和dict的區別

python3中的ordereddict和dict的區別

很多人認為python中的字典是無序的,因為它是按照hash來存儲的,但是python中有個模塊collections(英文,收集、集合),裏面自帶了壹個子類

OrderedDict,實現了對字典對象中元素的排序。請看下面的實例:

1 import collections

2 print "Regular dictionary"

3 d={}

4 d['a']='A'

5 d['b']='B'

6 d['c']='C'

7 for k,v in d.items():

8 print k,v

9

10 print "\nOrder dictionary"

11 d1 = collections.OrderedDict()

12 d1['a'] = 'A'

13 d1['b'] = 'B'

14 d1['c'] = 'C'

15 d1['1'] = '1'

16 d1['2'] = '2'

17 for k,v in d1.items():

18 print k,v

19

20 輸出:

21 Regular dictionary

22 a A

23 c C

24 b B

25

26 Order dictionary

27 a A

28 b B

29 c C

30 1 1

31 2 2

可以看到,同樣是保存了ABC等幾個元素,但是使用OrderedDict會根據放入元素的先後順序進行排序。所以輸出的值是排好序的。

而dict是無序的