在Python3.6之前,字典是无序的,但是Python3.7+,字典是有序的。
我们可以使用 dict [ key ] 来获取所需要的值。通过 key 访问 dict 的 value,只要 key 存在,dict就返回对应的 value。如果key不存在,会直抛出 KeyError 异常。怎么避免KeyError错误?有两种方法:
第一种使用 key in dict 选判读字典中是否存在此key;
另一种是 dict 自带的 ge t方法 dict.get(key) ,在 key 不存在的时候,返回 None
如何删除字典元素:
dict.pop(key) # 删除对应键值
d = {'a': 123, 7: 'ffff'}
d.pop('a') # 删除'a' 对应的值
print(d) # 输出结果 无'a'
dict.clear() # 清空 dict
d = {'a': 123, 7: 'ffff'}
d.clear() # 清空dict的键值,不会删除引用d
print(d) # d还能访问
del dict[ key ] # 删除对应键值
d = {'a': 123, 7: 'ffff'}
del d['a'] # 删除单个键值
print(d) # 输出结果无a
del dict # 删除 dict,dict 无法访问
d = {'a': 123, 7: 'ffff'}
del d # 删除字典d的引用
print(d) # 字典d无法访问,出现NameError异常
如何遍历字典:
通过 key 遍历
d = {'a': 123, 7: 'ffff'}
for key in d:
print(d[key])
通过 dict.items 遍历
d = {'a': 123, 7: 'ffff'}
for key, value in d.items():
print(key, value)
通过dict.keys 遍历
d = {'a': 123, 7: 'ffff'}
for key in d.keys():
print(key)
通过dict.values遍历
d = {'a': 123, 7: 'ffff'}
for value in d.values():
print(value)
以上就是Python3 dict的一些问题了。