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爬虫爬取笔趣网小说网站过程图解

    Python爬虫爬取笔趣网小说网站过程图解 1. 了解爬虫基本原理 Python爬虫是指使用Python程序对网站进行自动化数据采集的过程。其基本原理为模拟浏览器的行为向网站发送请求,获取网站的HTML页面内容,然后解析出需要的数据。在实现Python爬虫之前,需要掌握以下几个方面: HTTP协议的基本知识; Python基本语法; 正则表达式的使用; Xp…

    python 2023年5月14日
    00
  • Python基础异常处理梳理总结

    当我们在编写Python程序时,常常会遇到各种各样的异常情况,比如语法错误、类型错误、文件不存在等。这时就需要使用异常处理机制来处理这些异常,从而保证程序的正确性和稳定性。本文将对Python基础异常处理做一个总结,包括异常的基本语法、常用的异常类型、自定义异常以及异常处理语句try-except、try-except-else和try-except-fin…

    python 2023年5月13日
    00
  • 利用PyQt中的QThread类实现多线程

    利用PyQt中的QThread类实现多线程的攻略包括以下几个步骤: 导入必要的库 from PyQt5.QtCore import QThread, pyqtSignal 创建一个继承自QThread类的自定义线程类,并重写run()方法用于执行线程任务 class MyThread(QThread): # 自定义信号,用于将线程任务执行结果传递给主线程 u…

    python 2023年5月19日
    00
  • Python中实现对Timestamp和Datetime及UTC时间之间的转换

    下面是详细的攻略: Python中Timestamp、Datetime和UTC时间之间的转换 Timestamp与Datetime之间的转换 在Python中,我们可以将时间表示成Timestamp和Datetime这两种类型。Timestamp是指从1970年1月1日00:00:00开始的秒数,它通常是有符号的整数或浮点数。而Datetime则是一个更易读…

    python 2023年6月2日
    00
  • Python多线程应用于自动化测试操作示例

    对于Python多线程应用于自动化测试操作示例的完整攻略,我们可以从以下几个部分来进行讲解: 理解Python的多线程模块: 在Python中,使用多线程进行并发操作可以大大加快程序的运行速度。我们可以使用Python内置的threading模块来进行多线程编程。该模块提供了一个Thread类,我们可以通过对该类进行实例化来创建一个线程。 例如: impor…

    python 2023年5月19日
    00
  • python的命名规则知识点总结

    Python 的命名规则知识点总结 在 Python 中,命名规则是非常重要的,它可以影响代码的可读性和可维护性。以下是 Python 的命名规则知识点总结。 1. 变量命名规则 在 Python 中,变量名应该使用小写字母,并使用下划线分隔单词。以下是一个变量命名规则的示例: first_name = ‘John’ last_name = ‘Doe’ 在上…

    python 2023年5月15日
    00
  • python实现中文输出的两种方法

    这里就为你详细讲解一下Python实现中文输出的两种方法,包含两个示例。 方法一:使用unicode字符串 在Python 2中,可以使用unicode字符串来输出中文。 首先在文件开头添加 # coding=utf-8,表示该文件使用utf-8编码。 然后使用u前缀来标记一个字符串为unicode字符串,例如: # coding=utf-8 name = …

    python 2023年6月3日
    00
  • python烟花效果的代码实例

    下面是“Python烟花效果的代码实例”的完整攻略。 1. 什么是Python烟花效果 Python烟花效果是一个基于图形学的可视化动态效果,通过对屏幕的操作绘制出烟花爆炸的过程,可以让用户更加直观地感受代码的魅力。 2. 操作前提 实现Python烟花效果需要在Python环境下,使用Python的turtle模块。在Python环境下使用turtle模块…

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