【python】Python 有序字典(OrderedDict)与 普通字典(dict)

本文介绍了Python中的无序字典(普通字典)和有序字典(OrderedDict)。无序字典在遍历时无法保证元素的插入顺序,而有序字典则能记住元素的插入顺序并按顺序输出。然而,如果有序字典在定义时即包含了所有元素且后续未进行动态添加,其输出顺序仍然可能是无序的,因为缺少了动态有序插入的步骤。有序字典通常用于需要按添加顺序输出的动态数据场景。
摘要由CSDN通过智能技术生成

Python 的基础数据类型中的字典类型分为:无序字典 与 有序字典 两种类型

1.无序字典(普通字典):
在这里插入图片描述
输出:
在这里插入图片描述
可以看见,遍历一个普通字典,返回的数据和定义字典时的字段顺序是不一致的。
2.有序字典
在这里插入图片描述
输出:
在这里插入图片描述
有序字典可以按字典中元素的插入顺序来输出。

注意:

有序字典的作用只是记住元素插入顺序并按顺序输出。如果有序字典中的元素一开始就定义好了,后面没有插入元素这一动作,那么遍历有序字典,其输出结果仍然是无序的,因为缺少了有序插入这一条件,所以此时有序字典就失去了作用,所以有序字典一般用于动态添加并需要按添加顺序输出的时候。

如下面这个列子:

import collections 
my_order_dict = collections.OrderedDict(name="lowman", age=45, money=983, hourse=None)
for k,v in my_order_dict.items():
    print(k,v)
    
name lowman
age 45
money 983
hourse None

发现输出还是无序的,因为在定义有序字典的同时也定义了初始值,没有存在按序添加的操作,所以有序字典是没有记录插入字段的顺序,最后遍历时,得到数据的顺序仍然是无序的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值