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

yizhihongxing

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去掉字符串中重复字符的方法

    要去掉Python字符串中的重复字符,可以使用以下两种方法: 方法一:使用集合 可以先将字符串转换为集合,集合会自动去重,然后再将集合转回字符串。 str1 = "Hello, World!" set1 = set(str1) str2 = ”.join(set1) print(str2) 输出结果: H, drWelo! 方法二:使用…

    python 2023年6月3日
    00
  • Pycharm使用时会出现的问题之cv2无法安装解决

    当使用Pycharm开发时,有时会碰到需要安装cv2库但是无法正常安装的情况。这种情况通常是由于安装cv2库需要依赖于其他的库,以及可能会受到网络连接等各种不确定因素的影响所引起的。 为了解决这个问题,我们可以按照以下步骤进行尝试: 步骤一:安装numpy 首先需要安装numpy,这是cv2库的依赖包之一。 可以使用以下代码进行安装: pip install…

    python 2023年5月13日
    00
  • python 导入数据及作图的实现

    下面我将为您详细讲解“Python 导入数据及作图的实现”的完整攻略。 导入数据 要导入数据,可以使用 Python 的 Pandas 库。常见的数据格式包括 CSV、Excel、JSON 等。下面以导入 CSV 文件为例,讲解具体步骤。 安装 Pandas 库 可以通过命令行输入以下命令安装 Pandas: pip install pandas 导入 CS…

    python 2023年5月19日
    00
  • 字节跳动2019春招研发部分python编程题汇总

    下面我将详细讲解“字节跳动2019春招研发部分python编程题汇总”的完整攻略,过程中包含两条示例说明。 概述 “字节跳动2019春招研发部分python编程题汇总”包含15道Python编程题,难度不等,需要掌握Python基础和常见算法,具有较高的考察难度和实际工作中Python编程能力的要求。 准备工作 在开始做题前,需要准备好Python的开发环境…

    python 2023年5月13日
    00
  • Python操作mysql数据库实现增删查改功能的方法

    Python操作MySQL数据库实现增删查改功能的方法 1. 安装Python的MySQL模块 在Python中操作MySQL需要使用到MySQL模块,可以使用pip来安装: pip install mysql-connector-python 2. 连接到MySQL数据库 连接到MySQL数据库需要使用到相应的参数,比如主机名、用户名、密码、数据库名等。可…

    python 2023年6月3日
    00
  • Python多线程操作之互斥锁、递归锁、信号量、事件实例详解

    Python多线程操作之互斥锁、递归锁、信号量、事件实例详解 什么是锁? 锁是一种同步机制,用于控制多个线程对共享资源的访问。当一个线程获取一把锁时,其它线程便不能再获取该锁。只有当该线程释放锁之后,其它线程才能获取该锁。 互斥锁 互斥锁使用Lock对象实现,当一个线程和另一个线程尝试获取同一个锁时,其中一个线程会被阻塞,直到该锁被释放。 以下是互斥锁的示例…

    python 2023年5月19日
    00
  • Python读写csv文件的超详细步骤

    下面给你详细讲解 Python 读写 CSV 文件的超详细步骤。这里我将分为以下五个步骤:1. 导入 csv 模块2. 打开文件并创建读写对象3. 读取csv文件4. 写入csv文件5. 关闭文件 1. 导入 csv 模块 Python 内置了 csv 模块,我们需要使用它来进行 CSV 文件读写操作。在代码中使用以下命令导入 csv 模块: import …

    python 2023年6月3日
    00
  • python后端接收前端回传的文件方法

    在 Python 后端中,接收前端回传的文件可以使用多种方法,包括使用 Flask、Django 等 Web 框架,以及使用 Python 内置的 http.server 模块等。以下是两个示例,分别使用 Flask 和 Django 实现接收前端回传的文件的方法。 使用 Flask 实现接收前端回传的文件 以下是一个简单的示例,可以使用 Flask 实现接…

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