python defaultdict函数_Python中defaultdict与lambda表达式用法

这篇文章主要介绍了Python中defaultdict与lambda表达式用法,在这里分享给大家,需要的朋友可以参考下

本文实例讲述了Python中defaultdict与lambda表达式用法。分享给大家供大家参考,具体如下:

从教程中看到defaultdict是一个类,在一台装有Python2.7.6的电脑上使用发现不存在。在文档中搜索了一下也没有找到,想当然以为这或许是Python 3.X专有的。因为教程就是基于Python 3.X实现的。后来换了一台装有Python 3.X的电脑依然出问题。

求助于网络,发现这个类其实是collections模块中的一个类。看来,学习很难摆脱网络环境啊!

这个类是dict的一个子类,重写了一个方法并增加了一个事件变量。在实例化的时候,第一个参数提供给default_factory的初始化函数。这个参数可以是一个类型或者函数,至于是类型这不难理解,其实类型基本上都是工厂函数。但是,有时候我们想用此方法传入一个常量,这个时候就需要自己单独设计一个常量函数或者直接使用lambda表达式。

先看如下的示范:

>>> fromcollections import defaultdict

>>> c1 =defaultdict(int)

>>>c1.get(123)

>>>c1.get('abc')

>>> defConst():

return 23

>>> c2 =defaultdict(Const)

>>>c2.get(123)

>>> c2

defaultdict(, {})

>>>c2[123]

23

>>>c2['abc']

23

>>>c1[123]

0

从上面可以看出,这种方式可以为一个字典对象不存在的key自动给出一个默认的value。用上面的这种方式自然是可以实现value为某个常量,但是使用lambda可以使得代码更为简洁:

>>> c3 =defaultdict(lambda :123)

>>>c3[12]

123

在最近遇到的使用场景中,这种方法能够让代码变得简洁不少,而习惯后的代码可读性也没有任何影响。

相关推荐:

Python中的defaultdict模块和namedtuple模块的简单入门指南

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501838.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python中下拉菜单大小_自动化测试——Selenium+Python之下拉菜单的定位

1.通过selenium.webdriver.support.ui的Select进行定位下拉菜单如下图:定位代码(选择Male):from selenium.webdriver.support.ui import Select# 通过index进行选择Select(driver.find_element_by_id("gender")).select_by_index(1)# 通过valu…

JAVA可不可以编写应用程序_编写一个java应用程序

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼另附Arith类:public class Arith {//默认除法运算精度小数点后面的位数private static final int DEF_DIV_SCALE 2;//这个类不能实例化private Arith() {}/*** 提供精确的加法运算。** param v1 被加数* param v2 加数…

ssms没有弹出服务器验证_使用SSMS扫描和查找SQL Server数据库的潜在安全漏洞

SQL Server Management Studio 17.4或更高版本的SSMS中提供了SQL Server漏洞侦测(VA)功能,此功能允许SQL Server扫描您的数据库以查找潜在的安全漏洞,并且可以针对SQL Server 2012或更高版本运行。如果您还没有使用SSMS上的较新版本,请不要担…

驱动api_消费者驱动契约已死?

吐槽文一篇。契约的一些问题在实践前后端分离的这些年来,已经诞生了一些技术与工具让前后端进行沟通:契约的 Mock 服务(Mock Server)。用于模拟一个服务器,为特定的接口返回特定的值。契约测试。对前后端协定的 API 进…

php表单提交邮箱_最全实现dede订单表单提交发送到指定邮箱(附前台设置)

打造销售型网站的订单系统。不是所有销售都有权限登陆网站后台查看订单,特别是外地出差时,用户下了订单后不能及时服务用户,可能会造成订单丢失。但dedecms默认的订单提交后只能在后台看到的,每次都要登陆到后台去查看很麻烦。以下…

鸢尾花python贝叶斯分类_机器学习-利用三种分类器实现鸢尾花分类

利用决策树,KNN和朴素贝叶斯三种分类器,对鸢尾花数据集进行分类。下面是具体的流程和代码:1、 数据读取:实验数据是直接加载的sklearn内置的鸢尾花数据集,共150条数据,包含4个特征,而且是一个三…

用php创建一相册文件_php文件创建

PHP-创建文件在您可以做任何一份档案,它已存在!在这一课您将学习如何建立一个档案使用PHP 。广告Tizag.comPHP的-制造混乱在PHP中,某个文件创建使用的命令也被用来打开文件。这似乎有点混乱,但我们会努力澄清这一难题。在PHP的打开…

python编辑邮件格式_python发送邮件模板

python发送邮件(不带附件)模板import smtplibfrom email.mime.text import MIMETextfrom email.header import Headersender xxxxxxxxx163.comreceiver xxxxxx126.comsubject 报警username xxxxxxxx163.compassword xxxxmsg MIMEText(strs, plain, utf-8)msg[Subject] H…

php ckeditor 配置,Laravel5.6框架使用CKEditor5相关配置详解

本文实例讲述了Laravel5.6框架使用CKEditor5相关配置。分享给大家供大家参考,具体如下:Laravel 相关配置文件的上传与存储参考文档:创建符号链接php artisan storage:linkproject/public/storage -> project/storage/app/public修改配置文…

python通讯录运用的知识点_案例驱动式Python学习--通讯录存取

驱动案例通讯录:要求打印出企业全部十名员工通讯录。(要求有文件相关操作)内置函数自定义函数函数指被封装起来的、实现某种功能的一段代码。Python安装包、标准库中自带的函数统称为内置函数,用户自己编写的函数称为自定义函数,不管是哪种函…

udp怎么保证不丢包_在 Flink 算子中使用多线程如何保证不丢数据?

分析痛点笔者线上有一个 Flink 任务消费 Kafka 数据,将数据转换后,在 Flink 的 Sink 算子内部调用第三方 api 将数据上报到第三方的数据分析平台。这里使用批量同步 api,即:每 50 条数据请求一次第三方接口,可以通过批…

php 没有libmysql.dll,PHP5.3以上版本没有libmysql.dll,以及由此带来的困扰

有朋友下载了PHP5.3,PHP5.4版本想加载mysql支持的时候发现没有libmysql.dll文件,无法完成mysql配置,其实PHP5.3版本开始,使用mysqlnd库,不再使用libmysql.dll用来访问MySQL数据库,大大提升了PHP的数据库访问…

堆排序时间复杂度_图解堆结构、堆排序及堆的应用

前言这次我们介绍另一种时间复杂度为 O(nlogn) 的选择类排序方法叫做堆排序。我将从以下几个方面介绍:堆的结构堆排序优化的堆排序原地堆排序堆的应用堆的结构什么是堆?我给出了百度的定义,如下:堆(Heap)是计算机科学中一类特殊的…

农历php,PHP农历公历转换

/*云南省曲靖师范学院计算机科学与工程学院-杨海熙编写2009-9-3*/class Lunar{private $_SMDay array(1 > 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);//定义公历月分天数private $_LStart 1950 ;//农历从1950年开始private $_LMDay array(//差:该年的…

python迷宫起点终点所有路径_通向终点的路不止一条!python迷宫。

马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有帐号?立即注册x本帖最后由 wei_Y 于 2014-11-24 19:53 编辑2008121223547917.jpg (56.62 KB, 下载次数: 3)2014-11-17 19:22 上传其实木有上面那么高端啦…

恶意软件分析沙箱在网络安全策略中处于什么位置?

恶意软件分析沙箱提供了一种全面的恶意软件分析方法,包括静态和动态技术。这种全面的评估可以更全面地了解恶意软件的功能和潜在影响。然而,许多组织在确定在其安全基础设施中实施沙箱的最有效方法方面面临挑战。让我们看一下可以有效利用沙盒解决方案的…

php websocket 帧封装,swoole websocket封装类和调用

上代码 ws.php/*** ws 优化 基础类库* User: singwa* Date: 18/3/2* Time: 上午12:34*/class Ws {CONST HOST "0.0.0.0";CONST PORT 9512;public $ws null;public function __construct() {$this->ws new swoole_websocket_server("0.0.0.0", 9512)…

夸克浏览器怎么安装脚本_广告看烦了?别砸手机!这五款浏览器能拯救你

哈喽大家好,欢迎来到黑马公社。随着各种良莠不齐的内容开始泛滥,黑马发现自己很难通过网络第一时间找到自己想要的内容。在电脑上,黑马为自己的每个浏览器都安装了不下三个广告屏蔽插件,而在手机上,很难。先不说手机浏…

php 今天 明天 后天 显示10天,【微信小程序】实现含有今天,明天,后天的日期组件...

封面图.JPG前言做过微信小程序的前端er都知道,小程序有个日期组件,叫picker,但是,需求方要求日期和时间都要显示的,用picker组件的话,那就用到两个picker,date和time,就是说要让用户…

python dlib 年龄 性别_python dlib学习(一):人脸检测

1、环境安装Windows: 旧版本安装pip install xxx.whl。以下是whl文件地址: ​ Python Package Index​ 最新版本安装:不要嫌麻烦,先装上visual studio2015 (C模块)。​ 具体的记不清了,装上cmake和boost,然…