千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術(shù)干貨  > pythonOrderedDict在python字典的實現(xiàn)

pythonOrderedDict在python字典的實現(xiàn)

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-13 16:30:52 1699864252

OrderedDict在python字典的實現(xiàn)

1、OrderedDict的popitem方法

這個類型在添加鍵的時候會保持順序,因此鍵的迭代次序總是一致的。OrderedDict的popitem方法默認刪除并返回的是字典里的最后一個元素,但是如果像my_odict.popitem(last=False)這樣調(diào)用它,那么它刪除并返回第一個被添加進去的元素。

move_to_end(key,last=True)將現(xiàn)有key移至有序字典的末尾。如果last=True(默認),則item移動到右側(cè),如果last=False,則移動到開始。如果key不存在,則引發(fā)KeyError:

In[1]:fromcollectionsimportOrderedDict

In[2]:d=OrderedDict.fromkeys('abcde')

In[3]:d.move_to_end('b')

In[4]:''.join(d.keys())

Out[4]:'acdeb'

In[5]:d.move_to_end('b',last=False)

In[6]:''.join(d.keys())

Out[6]:'bacde'

2、與sorted結(jié)合

由于OrderedDict會記住它的插入順序,因此它可以與sorted結(jié)合使用來創(chuàng)建一個排序后的字典:

In[11]:d={'banana':3,'apple':4,'pear':1,'orange':2}

#根據(jù)key排序

In[12]:OrderedDict(sorted(d.items(),key=lambdat:t[0]))

Out[12]:OrderedDict([('apple',4),('banana',3),('orange',2),('pear',1)])

#根據(jù)value排序

In[13]:OrderedDict(sorted(d.items(),key=lambdat:t[1]))

Out[13]:OrderedDict([('pear',1),('orange',2),('banana',3),('apple',4)])

#根據(jù)key的長度排序

In[14]:OrderedDict(sorted(d.items(),key=lambdat:len(t[0])))

Out[14]:OrderedDict([('pear',1),('apple',4),('banana',3),('orange',2)])

以上就是OrderedDict在python字典的實現(xiàn),希望能對大家有所幫助,更多Python學習教程請關(guān)注IT培訓機構(gòu):千鋒教育。

tags: python培訓
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學 138****2860 剛剛成功領(lǐng)取
王同學 131****2015 剛剛成功領(lǐng)取
張同學 133****4652 剛剛成功領(lǐng)取
李同學 135****8607 剛剛成功領(lǐng)取
楊同學 132****5667 剛剛成功領(lǐng)取
岳同學 134****6652 剛剛成功領(lǐng)取
梁同學 157****2950 剛剛成功領(lǐng)取
劉同學 189****1015 剛剛成功領(lǐng)取
張同學 155****4678 剛剛成功領(lǐng)取
鄒同學 139****2907 剛剛成功領(lǐng)取
董同學 138****2867 剛剛成功領(lǐng)取
周同學 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT