Python 有序字典(OrderedDict)与 普通字典(dict)
生活随笔
收集整理的這篇文章主要介紹了
Python 有序字典(OrderedDict)与 普通字典(dict)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Python 的基礎(chǔ)數(shù)據(jù)類型中的字典類型分為:無序字典 與 有序字典 兩種類型
1.無序字典(普通字典):
my_dict = dict() my_dict["name"] = "lowman" my_dict["age"] = 26 my_dict["girl"] = "Tailand" my_dict["money"] = 80 my_dict["hourse"] = None for key, value in my_dict.items(): print(key, value)輸出:
money 80 girl Tailand age 26 hourse None name lowman可以看見,遍歷一個(gè)普通字典,返回的數(shù)據(jù)和定義字典時(shí)的字段順序是不一致的。
2.有序字典
''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' import collectionsmy_order_dict = collections.OrderedDict() my_order_dict["name"] = "lowman" my_order_dict["age"] = 45 my_order_dict["money"] = 998 my_order_dict["hourse"] = Nonefor key, value in my_order_dict.items():print(key, value)輸出:
name lowman age 45 money 998 hourse None有序字典可以按字典中元素的插入順序來輸出。
注意:
有序字典的作用只是記住元素插入順序并按順序輸出。如果有序字典中的元素一開始就定義好了,后面沒有插入元素這一動(dòng)作,那么遍歷有序字典,其輸出結(jié)果仍然是無序的,因?yàn)槿鄙倭擞行虿迦脒@一條件,所以此時(shí)有序字典就失去了作用,所以有序字典一般用于動(dòng)態(tài)添加并需要按添加順序輸出的時(shí)候。
如下面這個(gè)列子:
''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' import collectionsmy_order_dict = collections.OrderedDict(name="lowman", age=45, money=998, hourse=None)for key, value in my_order_dict.items():print(key, value)輸出:
hourse None age 45 money 998 name lowman發(fā)現(xiàn)輸出還是無序的,因?yàn)樵诙x有序字典的同時(shí)也定義了初始值,沒有存在按序添加的操作,所以有序字典是沒有記錄插入字段的順序,最后遍歷時(shí),得到數(shù)據(jù)的順序仍然是無序的。
總結(jié)
以上是生活随笔為你收集整理的Python 有序字典(OrderedDict)与 普通字典(dict)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 使用进程池Pool进行并发
- 下一篇: Python zip() 与 map()