本文小编为大家详细介绍“Python字典高级用法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python字典高级用法有哪些”文章能帮助大家解决疑惑,下面跟着小编的免费云主机域名思路慢慢深入,一起来学习新知识吧。将下面的列表转成字典l = [(‘a’,2),(‘b’,3),(‘a’,1),(‘b’,4),(‘a’,3),(‘a’,1),(‘b’,3)]一个字典就是一个键对应一个单值的映射,而上面的列表中有相同键。如果你想要一个键映射多个值,那么就需要将这多个值放到另外的序列中,比如 list 或者 set 里面,像下面这样:你可以很方便的使用 collections 模块中的 defaultdict 来构造这样的字典。 defaultdict 的一个特征是它会自动初始化每个 key 刚开始对应的值。当然这个默认的容器不一定是 list, 也可以是集合 set。根据自己的需求选择用 list 还是 set 。如果你想保持元素的插入顺序就应该使用列表,如果想去掉重复元素就使用集合!来源于微信交流群里一个朋友工作中的问题,列表中有很多字典,需要统计字典中相同的键对应的值的和利用 defaultdict 设置默认值的方法 defaultdict(int),代码如下:字典dict是无序的,如果我们想要有序的dict,可以使用OrdereDict 。示例如下:OrderedDict 内部维护着一个根据键插入顺序排序的双向链表。每次当一个新的元 素插入进来的时候,它会被放到链表的尾部。对于一个已经存在的键的重复赋值不会 改变键的顺序。需要注意的是,一个 OrderedDict 的大小是一个普通字典的两倍,因为它内部维 护着另外一个链表。所以如果你要构建一个需要大量 OrderedDict 实例的数据结构的 时候 (比如读取 100,000 行 CSV 数据到一个 OrderedDict 列表中去),那么你就得仔细权衡一下是否使用 OrderedDict 带来的好处要大过额外内存消耗的影响。OrderedDict 是有序的字典,同时也能改变其顺序。比如我们想要改变有序的 OrderedDict 对象的 key-value 顺序,可以使用 move_to_end(key)
。还是以上面创建的有序字典为例子可以看到之前排在第一位的 bar被移到最后一位了。move_to_end
还接收一个关键字参数 last。last 默认为 True,当 last = False 的时候,表示将该键移动到最前面!如果我们要删除有序字典中的 key-value, 可以使用 popitem 方法, popitem(last=True) 按照先进后出的顺序删除 dict中 的 key-value,popitem(last=False) 按照先进先出的规则删除 dict 中的 key-value。利用Python 内置函数 sorted 对字典的键或者值进行排序,首先来了解下 sorted 函数参数说明:iterable – 可迭代对象key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。理解了 sorted 函数就好办了,代码如下:代码如下:注意排序后的返回值是一个list,而原字典中的名值对被转换为了list中的元组。假设你有一个字典列表, 如下:你想根据某个或某几个字典字段来排序这个列表。通过使用 operator 模块的 itemgetter 函数,可以非常容易的排序这样的数据结构,代码如下:itemgetter() 函数也支持多个 keys,比如下面的代码:读到这里,这篇“Python字典高级用法有哪些”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。
这篇文章主要介绍“C语言不同类型数据转换规则是怎样的”的相关知识,免费云主机域名小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C语言不同类型数据转换规则是怎样的”文章能帮助大家解决问题。在C语言中,自动类型转换遵循以下规则:①若参与…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。