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]