python字典是无序的吗_Python 有序字典 OrderedDict 和无序字典 Dict

Python 默认的字典是无序的,如果我们需要让他变成有序,很简单,使用有序字典即可,会按照添加顺序自动排序,先添加的在前面,后添加的在后面。Python 中有一个 OrderedDict,刚好就是实现这个功能的,下面进行介绍 Python 有序字典 OrderedDict。

一、Python 普通字典 Dictmy_dict = dict()

my_dict["name"] = "lowman"

my_dict["age"] = 26

my_dict["girl"] = "Tailand"

my_dict["money"] = 80

my_dict["hourse"] = None

for key, value in my_dict.items():

print(key, value)

输出:money 80

girl Tailand

age 26

hourse None

name lowman

可以看到,输出并不是按照添加顺序的。

二、Python 有序字典 OrderedDictimport collections

my_order_dict = collections.OrderedDict()

my_order_dict["name"] = "lowman"

my_order_dict["age"] = 45

my_order_dict["money"] = 998

my_order_dict["hourse"] = None

for key, value in my_order_dict.items():

print(key, value)

输出:name lowman

age 45

money 998

hourse None

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

比如:import collections

my_order_dict = collections.OrderedDict(name="lowman", age=45, money=998, hourse=None)

for key, value in my_order_dict.items():

print(key, value)

输出:hourse None

age 45

money 998

name lowman

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值