OrderedDict在python字典的实现

  • 更新时间:2021-06-27 09:33:52
  • 编辑:罗维娟
给网友朋友们带来一篇相关的编程文章,网友张光亮根据主题投稿了本篇教程内容,涉及到Python相关内容,已被613网友关注,下面的电子资料对本篇知识点有更加详尽的解释。

参考资料

正文内容

无意中在网上看到《OrderedDict在python字典的实现》,实例讲的很实用,把网友测试过的内容发布到这里,看完如果觉得有用请记得收藏。

OrderedDict在python字典的实现

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]: 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)])

以上就是OrderedDict在python字典的实现,希望能对大家有所帮助,更多知识尽在python学习网。

相关教程

  • 对python中的xlsxwriter库简单分析

    这篇文章主要介绍了关于对python中的xlsxwriter库简单分析,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

    发布时间:2019-07-11

  • 基于python图书馆管理系统设计实例详解

    这篇文章主要介绍了基于python图书馆管理系统设计实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    发布时间:2021-05-02

用户留言