参考链接: Python字典dictionary| pop方法
get()方法
返回指定键 key 的值,如果值不在字典中返回默认值。语法:dict.get(key, default=None)
参数:
key – 字典中要查找的键default – 如果指定键的值不存在时,返回该默认值值 实例:
key存在,则返回key对应的值 >>> t = {'name': 'summer', 'age': 23}
>>> t.get('name', 'judy')
'summer'
key不存在,返回默认值 >>> t = {'name': 'summer', 'age': 23}
>>> t.get('new_name', 'judy')
'judy'
key不存在,也没有给默认值 >>> t = {'name': 'summer', 'age': 23}
>>> t.get('new_name')
# 这里是空的,什么也没有
使用场景:
从字典取出指定健的值
pop()方法
删除字典给定键 key 所对应的值,返回值为被删除的值,如果要删除的 key 不存在,则需要添加默认值,否则会报错。 语法:pop(key[, default])
参数:
key – 字典中要查找的键default – 如果指定键的值不存在时,返回该默认值值 实例:
删除指定key >>> t = {'name': 'summer', 'age': 23}
>>> t.pop('name')
'summer'
>>> t
{'age': 23}
key不存在,返回默认值 >>> t = {'name': 'summer', 'age': 23}
>>> t.pop('new_nmae', 'judy')
'judy'
>>> t
{'name': 'summer', 'age': 23}
key不存在,没有默认值 >>> t = {'name': 'summer', 'age': 23}
>>> t.pop('new_nmae')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'new_nmae'
使用场景:
当这个键程序后面不在使用,明确删除后不会影响其它业务,可以使用pop(),但一定要给默认值,否则当key不存在的时候,程序会报错 注意:
一般应该避免使用这个函数,避免有地方在使用这个值,对程序造成影响
如何在循环dict()中执行pop操作
如,想把 d = {‘a’:1, ‘b’:2, ‘c’:3} 中不满足条件的元素给删除事列1:是错误❌的做法
会报这个错误:RuntimeError: dictionary changed size during iteration d = {'a':1, 'b':2, 'c':3}
for k, v in d.items():
if v < 2:
d.pop(k)
事列2:处理是对的✅ d = {'a':1, 'b':2, 'c':3}
for k in list(d.keys()):
v = d[k]
if v < 2:
d.pop(k) 或者 del d[k]