Python 有序字典(OrderedDict)与 普通字典(dict),pythonordereddict,Python 的基础
Python 有序字典(OrderedDict)与 普通字典(dict),pythonordereddict,Python 的基础
Python 的基础数据类型中的字典类型分为:无序字典 与 有序字典 两种类型
1.无序字典(普通字典):
my_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 80girl Tailandage 26hourse Nonename lowman
可以看见,遍历一个普通字典,返回的数据和定义字典时的字段顺序是不一致的。
2.有序字典
import collectionsmy_order_dict = collections.OrderedDict()
my_order_dict["name"] = "lowman"
my_order_dict["age"] = 45
my_order_dict["money"] = 998
my_order_dict["hourse"] = Nonefor key, value in my_order_dict.items(): print(key, value)
输出:
name lowman
age 45
money 998
hourse None
有序字典可以按字典中元素的插入顺序来输出。
注意:
有序字典的作用只是记住元素插入顺序并按顺序输出。如果有序字典中的元素一开始就定义好了,后面没有插入元素这一动作,那么遍历有序字典,其输出结果仍然是无序的,因为缺少了有序插入这一条件,所以此时有序字典就失去了作用,所以有序字典一般用于动态添加并需要按添加顺序输出的时候。
如下面这个列子:
import collectionsmy_order_dict = collections.OrderedDict(name="lowman", age=45, money=998, hourse=None)for key, value in my_order_dict.items(): print(key, value)
输出:
hourse Noneage 45money 998name lowman
发现输出还是无序的,因为在定义有序字典的同时也定义了初始值,没有存在按序添加的操作,所以有序字典是没有记录插入字段的顺序,最后遍历时,得到数据的顺序仍然是无序的。
Python 有序字典(OrderedDict)与 普通字典(dict)
相关内容
- python dataframe slice,,import pan
- python elasticsearch模块使用,,环境 :pyhton
- python -使用del语句删除对象引用,,使用del语句删除一
- python 浮点数转分数,python浮点数分数,from fract
- 2017.08.10 Python爬虫实战之爬虫攻防,2017.08.10python,1.创建
- python 调用js代码,python调用js,Python2 安
- 解决python在cmd运行时导入包失败,出现错误信息 &
- Zabbix与Python不得不说的基情——用Python定制自己的zab
- python之random模块,,# 关于random
- CentOS——yum命令运行错误解决办法,,问题:[[email
评论关闭