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模块的简单入门指南
python defaultdict函数_Python中defaultdict与lambda表达式用法相关推荐
- python local函数_python中的函数
函数 一.函数的定义 def是可执行的代码.def创建了一个对象并将其赋值给某一变量名.def语句是实时执行的,即:def在运行时才进行评估,而在def之中的代码在函数调用后才会评估.函数本身就是一个 ...
- python有趣函数_python中有趣的函数
filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决 ...
- python nums函数_Python中的内置函数
Python中有很多内置函数,不需要我们调用模块可以直接使用,而且都是常用函数的封装,下面我们来看看Python中的内置函数都有那些. 1.abs() abs()是绝对值函数,把一个负数转化为正数,数 ...
- python sep函数_Python中带有print()函数的sep参数
python sep函数 sep parameter stands for separator, it uses with the print() function to specify the se ...
- pythonlambda回调函数_Python中如何借助lambda来给回调函数传参
开门见山,直接从一个例子开始,假设我们在写一个GUI界面,界面上有个按钮,其功能是点击它就能得到物品A的详细描述,对应的代码如下 detailButton.clicked.connect(self.s ...
- python dump函数_python中实现php的var_dump函数功能
最近在做python的web开发(原谅我的多变,好东西总想都学着...node.js也是),不过过程中总遇到些问题,不管是web.py还是django,开发起来确实没用php方便,毕竟存在的时间比较短 ...
- python round函数_python中round函数如何使用
round函数很简单,对浮点数进行近似取值,保留几位小数.比如 >>> round(10.0/3, 2) 3.33 >>> round(20/7) 3 第一个参数是 ...
- python remove函数_python中remove函数的用法是什么?
python中remove函数的用法是什么? python中remove函数的用法: 描述 remove() 函数用于移除列表中某个值的第一个匹配项. 语法 remove()方法语法: list.re ...
- python array函数_Python 中的range()函数与array()函数
我们在Python中存在一个非常好用的range()与array()函数,下面作用法简要介绍. 一.range()函数 >>> range(1,10) -->不包括10 [1, ...
最新文章
- OPPOr7sm恢复出厂设置一直卡在开机界面
- 安装RRDtool 1.4.5
- VTK:标签放置映射器用法实战
- 学习Python最好的途径——激发自己的学习兴趣!
- 腾讯 PB 级大数据计算如何做到秒级?
- 如何利用计算机完成科研项目,承担科研项目情况怎样填写
- GARFIELD@12-30-2004
- 【正则化】Label Smoothing详解
- shell每日一句(3)
- UVaOJ 10328 	Coin Toss
- 报错’TypeError: only integer scalar arrays can be converted to a scalar index‘
- 南华大学c语言实验答案,南华大学C语言习题答案2012年版
- hive与mysql对比之max、group by、日志分析
- Polybase要求安装orcale jre 7更新 51或更高版本如何解决
- 记一次简单的burpsuite弱口令爆破实验
- you need to install the latest version of Visual Studio
- ZY-Player安静看电影
- 13.3 跳格子游戏
- Selenium自动化测试网页加载太慢怎么办
- 全景虚拟漫游实现(three.js)
热门文章
- Oracle修改表空间大小
- 合成艺术字二 :使用的透明类以及所用的颜色选择器JS(完整事列源码)
- python-字典方法
- 2017年网易校招题 买苹果
- unity android 分包,Unity以分包(obb)形式集成到安卓原生 我慢慢填坑
- python算法实现源码_Python实现七个基本算法
- sqlite查询乘以某列如果是null就换成_大数据之Hive group by with cube/rollup分组查询...
- 鱼c论坛python课后作业_三日速成python?打工人,小心钱包,别当韭菜
- 医院计算机管理工资,医院工资管理系统的设计与开发
- ajax实现重新绘图,如何画Flot AJAX更新图