python dictionary append(OrderedDict在python字典的实现)
导读:1、OrderedDict 的 popitem 方法...
1 、OrderedDict 的 popitem 方法
这个类型在添加键的时候会保持顺序 ,因此键的迭代次序总是一致的 。OrderedDict 的 popitem 方法默认删除并返回的是字典里的最后一个元素 ,但是如果像 my_odict.popitem(last=False) 这样调用它 ,那么它删除并返回第一个被添加进去的元素 。
move_to_end(key, last=True) 将现有 key 移至有序字典的末尾 。如果 last=True(默认) ,则 item 移动到右侧 ,如果 last=False ,则移动到开始 。如果 key 不存在 ,则引发 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]:bacde2 、与 sorted 结合
由于 OrderedDict 会记住它的插入顺序 ,因此它可以与 sorted 结合使用来创建一个排序后的字典:
In[11]:d={banana:3,apple:4,pear:1,orange:2} #根据key排序 In[12]:OrderedDict(sorted(d.items(),key=lambdat:t[0])) Out[12]:OrderedDict([(apple,4),(banana,3),(orange,2),(pear,1)]) #根据value排序 In[13]:OrderedDict(sorted(d.items(),key=lambdat:t[1])) Out[13]:OrderedDict([(pear,1),(orange,2),(banana,3),(apple,4)]) #根据key的长度排序 In[14]:OrderedDict(sorted(d.items(),key=lambdat:len(t[0]))) Out[14]:OrderedDict([(pear,1),(apple,4),(banana,3),(orange,2)])创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!