网站建设专业英文,tomcat 建网站,亿唐网不做网站做品牌考试题,网络推广站Python之哈希表-遍历和有序性
有序性
字典元素是按照key的hash值无序存储的。
但是#xff0c;有时候我们却需要一个有序的元素顺序#xff0c;Python 3.6之前#xff0c;使用OrderedDict类可以做到#xff0c;3.6开 始dict自身支持。
d1 {b:33, c:True, d:[1], f:234…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 fd2 {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
# 返回结果ffor k in d1.keys():print(k)
# 获取key 全写
# 返回结果b
# 返回结果c
# 返回结果d
# 返回结果ffor v in d1.values():print(v)
# 获取values
# 返回结果33
# 返回结果True
# 返回结果[1]
# 返回结果234for 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 234d2 dict(a100, b200, c300, d404)
# 定义一个字典d2
# 返回结果{a: 100, b: 200, c: 300, d: 404}while len(d2): d2.popitem()
# while循环 d2d2
# 返回结果{}from collections import OrderedDict
# 有序字典 sorted 导入collections库的OrderedDictd3 OrderedDict()d3.update(a1, babc)d3
# OrderedDict 记录录入序的字典也就是有序字典
# 返回结果OrderedDict([(a, 1), (b, abc)])