似乎dict.pop()可以区分用户指定的“默认”和实际默认(省略)。
例如(实际结果):
$('#table tbody').on('click', 'td.tdCredits', function () {
var table = $('#table').DataTable();
var rowId = table.row(this).data()[0];
});
my_dict.pop('non-exist-key', None)
我希望dict.pop的“默认”参数具有一个默认值,否则我希望得到结果:
my_dict.pop('non-exist-key')
#Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
#KeyError: 'non-exist-key'
答案 0 :(得分:0)
pop()方法从具有给定键的字典中删除并返回一个元素。
语法为 dictionary.pop(key [,默认])
pop()方法返回:
如果未找到密钥并且未指定默认参数-引发KeyError异常
example_dict = {“ a”:1,“ b”:2}
我们在这里初始化了字典。
example_dict.pop("c", None)
此语句返回None,因为我们在第二个参数中指定了它。
example_dict.pop("c")
这将引发键盘错误。
def pop(self, *args):
"""
Remove and return the value for a key.
"""
have_default = len(args) == 2
try:
v = self[args[0]]
except KeyError:
if have_default:
return args[1]
raise
else:
del self[args[0]]
return v
这是pop函数的纯python实现。