Python中最神秘missing()函数介绍
missing()
是Python内置模块collections
中提供的一个函数,它可以在字典中获取键值对中缺失的值。其中,字典是Python中一种常用的自带的数据结构,通过键值对的方式存储数据。
使用方法
missing()
函数的使用方法如下:
from collections import defaultdict
d = defaultdict(lambda: 'missing')
d['key1'] = 'value1'
print(d['key1']) # 输出 'value1'
print(d['key2']) # 输出 'missing'
可以看到,在上面的代码中,我们首先导入了collections
模块中的defaultdict
类,然后初始化了一个defaultdict
类型的字典d
。注意,在初始化时,我们传入了一个匿名函数lambda: 'missing'
作为参数,这个匿名函数将被绑定到defaultdict
中。
当我们访问d
字典中某个不存在的键值对时,missing()
函数会返回lambda
表达式中定义的默认值'missing'
,从而避免了出现KeyError
异常。
示例1
from collections import defaultdict
d = defaultdict(int)
s = 'Gabriel Gradinaru'
for c in s:
d[c] += 1
print(d['a']) # 输出 4
print(d['b']) # 输出 0
在上面这段代码中,我们首先声明了一个默认值为0的defaultdict
字典d
,然后用一个字符串s
构造了一个字符出现次数的字典。在访问字典时,若某个键值对不存在,将会取到该字典的默认值0。
这个例子中,统计了字符串中每个字符出现的个数,并输出了字符'a'和字符'b'的出现次数。
示例2
from collections import defaultdict
d = defaultdict(list)
l = [('Gabriel', 'Gradinaru'), ('Script', 'Runner'), ('Peter', 'Parker'), ('Mary', 'Jane')]
for i, j in l:
d[i].append(j)
print(d['Gabriel']) # 输出 ['Gradinaru']
print(d['Tony']) # 输出 []
在上面这段代码中,我们首先声明了一个默认值为list()
的defaultdict
字典d
,然后用一个元组列表构造了一个字典,元组的第一个值是键,第二个值是值。在遍历元组列表时,将键值对加入字典中。
这个例子中,构造了一个字典,其中键是人名,值是与该人名相关的信息。在访问字典中某个键值对的时候,若该值不存在,则默认值为一个空列表[]
。
总结
missing()
函数的使用在实际开发中非常广泛,能够方便地处理访问字典中可能存在的键值对缺失的情况。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中最神秘missing()函数介绍 - Python技术站