本文主要是介绍Python之哈希表-遍历和有序性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Python之哈希表-遍历和有序性
有序性
- 字典元素是按照key的hash值无序存储的。
但是,有时候我们却需要一个有序的元素顺序,Python 3.6之前,使用OrderedDict类可以做到,3.6开
始dict自身支持。
d1 = {'b':33, 'c':True, 'd':[1], 'f':234}
d1
# 返回结果:{'b': 33, 'c': True, 'd': [1], 'f': 234}
for key in d1:print(type(key), key)
# 字典最重要的就是key
# 查看类型
# 返回结果:<class 'str'> b
# 返回结果:<class 'str'> c
# 返回结果:<class 'str'> d
# 返回结果:<class 'str'> f
d2 = {'a':1, 1:'abc', None:'1', 5:[]}
d2
# key要可hash
# 返回结果:{'a': 1, 1: 'abc', None: '1', 5: []}
for k in d1: print(k)
# 获取key 简写
# 返回结果:b
# 返回结果:c
# 返回结果:d
# 返回结果:f
for k in d1.keys():print(k)
# 获取key 全写
# 返回结果:b
# 返回结果:c
# 返回结果:d
# 返回结果:f
for v in d1.values():print(v)
# 获取values
# 返回结果:33
# 返回结果:True
# 返回结果:[1]
# 返回结果:234
for k in d1.keys():print(k, d1.get(k), d1[k], d1.setdefault(k))
# 获取key/value
# 返回结果:b 33 33 33
# 返回结果:c True True True
# 返回结果:d [1] [1] [1]
# 返回结果:f 234 234 234
d2 = dict(a=100, b=200, c=300, d=404)
# 定义一个字典
d2
# 返回结果:{'a': 100, 'b': 200, 'c': 300, 'd': 404}
while len(d2): d2.popitem()
# while循环 d2
d2
# 返回结果:{}
from collections import OrderedDict
# 有序字典 sorted , 导入collections库的OrderedDict
d3 = OrderedDict()
d3.update(a=1, b='abc')
d3
# OrderedDict 记录录入序的字典,也就是有序字典
# 返回结果:OrderedDict([('a', 1), ('b', 'abc')])
这篇关于Python之哈希表-遍历和有序性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!