Python中最神秘missing()函数介绍

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技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • Python print不能立即打印的解决方式

    当我们在Python中使用print()函数时,有时候并不能立即将内容输出到终端或文件中,这是由于输出时缓存的原因。如果需要立即将内容输出,可以采用以下两种方法: 方法一:使用flush参数 在使用print()函数输出内容时,可以使用flush参数来强制输出缓存区里的所有内容。代码示例: import time print("Start…&q…

    python 2023年6月3日
    00
  • 通过抓取淘宝评论为例讲解Python爬取ajax动态生成的数据(经典)

    下面是详细的攻略: 通过抓取淘宝评论为例讲解Python爬取ajax动态生成的数据 在Python中,我们可以使用requests和json模块实现爬取ajax动态生成的数据。本文将以抓取淘宝评论为例,讲解Python爬取ajax动态生成的数据的过程,并提供两个示例说明。 抓取淘宝评论的过程 在抓取淘宝评论的过程中,我们需要模拟浏览器发送请求,并解析返回的j…

    python 2023年5月14日
    00
  • Python办公自动化处理的10大场景应用示例

    下面我将为您详细讲解“Python办公自动化处理的10大场景应用示例”的完整实例教程,其中我会选择其中两个场景进行详细说明。 Python办公自动化处理的10大场景应用示例 案例一:PDF文件操作 问题描述: 处理PDF文件是工作中常见的任务之一,但人工处理PDF文件时需要耗费大量时间。如果能够使用Python自动处理PDF文件,则可以大大提高工作效率。 解…

    python 2023年5月14日
    00
  • 使用python在特定条件下将文本添加到PDF文件名

    【问题标题】:Adding text to PDF file name under specific conditions using python使用python在特定条件下将文本添加到PDF文件名 【发布时间】:2023-04-07 21:33:01 【问题描述】: 我正在尝试在特定条件下编辑 pdf 的文件名。 名称是根据输入数据库的数字生成的(不可更…

    Python开发 2023年4月8日
    00
  • python编写暴力破解FTP密码小工具

    下面是Python编写暴力破解FTP密码小工具的完整攻略: 思路 导入常用的ftplib、os等模块 读取字典文件,每个元素为一行密码,存放到list中 通过循环遍历用户名列表和密码列表,对每个用户名进行暴力破解 通过ftplib模块中FTP()函数建立ftp对象,并使用login()尝试登录 若成功登录,则打印出用户名和密码,结束程序 若失败,则继续尝试下…

    python 2023年5月13日
    00
  • 解决运行出现’dict’ object has no attribute ‘has_key’问题

    首先,要明确这个错误的出现原因是Python3中将has_key()方法从字典中删除了,而在旧版本的Python中已经过时,因此出现了问题。 为了解决该问题,可通过以下两种方式: 将has_key()替换为in。 示例代码如下: # 创建一个字典 dict_1 = {‘a’: 1, ‘b’: 2, ‘c’: 3} # 判断 ‘a’ 是否在字典 dict_1 …

    python 2023年5月13日
    00
  • Python列表list排列组合操作示例

    Python列表list排列组合操作示例 在Python中,列表(list)是一种常用的数据类型,可以存储多个元素。本文将深入讲解Python列表list排列组合操作示例,并提供两个示例说明。 排列操作 排列是指从n个不同素中取出m个元素进行排列,排列的结果是有序的。在Python中,可以使用itertools库中的permutations()函数来现排列操…

    python 2023年5月13日
    00
  • python使用json将字符串转字典报错的解决

    当我们使用Python内置的json库将字符串转换为字典时,如果字符串格式不符合json标准格式,就会导致转换失败并出现报错。下面介绍两种可能出现的报错情况以及相应的解决方法: 1. JSONDecodeError: Expecting property name enclosed in double quotes: 当我们尝试使用json库将一个字符串转换…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部