知行编程网知行编程网  2022-11-25 10:00 知行编程网 隐藏边栏  3 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于OrderedDict在python字典的实现的相关知识,希望可以帮到处于编程学习途中的小伙伴

python字典中OrderedDict的实现


1、OrderedDict 的 popitem 方法

这种类型在添加键时保持顺序,因此键迭代顺序始终相同。 OrderedDict 的 popitem 方法默认移除并返回字典中的最后一个元素,但如果像 my_odict.popitem(last=False) 那样调用它,它会移除并返回添加的第一个元素。

move_to_end(key, last=True) 将现有键移动到排序字典的末尾。如果 last=True(默认),则将项目向右移动,如果 last=False,则将其移动到开头。如果键不存在,则引发 KeyError:

In [1]: from collections import OrderedDict
 
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 结合

由于 OrderedDict 记住了它的插入顺序,它可以与 sorted 结合来创建一个排序字典:

In [11]: d = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
# 根据 key 排序
In [12]: OrderedDict(sorted(d.items(), key=lambda t:t[0]))
Out[12]: OrderedDict([('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)])
# 根据 value 排序
In [13]: OrderedDict(sorted(d.items(), key=lambda t:t[1]))
Out[13]: OrderedDict([('pear', 1), ('orange', 2), ('banana', 3), ('apple', 4)])
# 根据 key 的长度排序
In [14]: OrderedDict(sorted(d.items(), key=lambda t: len(t[0])))
Out[14]: OrderedDict([('pear', 1), ('apple', 4), ('banana', 3), ('orange', 2)])

以上是python字典中OrderedDict的实现,希望对大家有所帮助,更多知识可以到python学习网中找到。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享