python 函数调用列表,函数调用列表的Python oneliner
我有一些旧代码,其中我将函数列表作为类属性存储在Python中。这些列表被用作一种事件钩子。在
为了使用适当的参数调用列表中的每个函数,我使用了一行程序,将map与{}表达式混合使用。我现在担心使用这样的lambda表达式会有不必要的开销。。我想推荐的方法是删除map和lambda,只使用标准for循环,以提高可读性。在
但是,有没有更好(读得更快)的一行代码来实现这一点呢?在
例如:class Foo:
"""Dummy class demonstrating event hook usage."""
pre = [] # list of functions to call before entering loop.
mid = [] # list of functions to call inside loop, with value
post = [] # list of functions to call after loop.
def __init__(self, verbose=False, send=True):
"""Attach functions when initialising class."""
self._results = []
if verbose:
self.mid.append( self._print )
self.mid.append( self._store )
if send:
self.post.append( self._send )
def __call__(self, values):
# call each function in self.pre (no functions there)
map( lambda fn: fn(), self.pre )
for val in values:
# call each function in self.mid, with one passed argument
map( lambda fn: fn(val), self.mid )
# call each fn in self.post, with no arguments
map( lambda fn: fn(), self.post )
def _print(self, value):
"""Print argument, when verbose=True."""
print value
def _store(self, value):
"""Store results"""
self._results.append(value)
def _send(self):
"""Send results somewhere"""
# create instance of Foo
foo = Foo(verbose=True)
# equivalent to: foo.__call__( ... )
foo( [1, 2, 3, 4] )
有没有更好的方法来编写那些单行map调用?在
python 函数调用列表,函数调用列表的Python oneliner相关推荐
- python编程学习笔记列表_python编程:从入门到实践学习笔记-函数
Python学习资料或者需要代码.视频加Python学习群:516107834 定义函数 举个简单的例子 由上所示,关键字def定义一个函数,后面跟着函数名以及用来输入参数的括号,定义以冒号结束,而p ...
- python38使用_笨方法学Python 习题38:列表的操作
列表的操作: 这里先复习一下之前遇见过的函数:split()通过指定分隔符对字符串进行切片,如果参数num有指定值,则仅分隔num个子字符 str.split(str="", nu ...
- 我要翻译《Think Python》-002 贡献列表 目录部分
PDF源文件地址 : http://www.greenteapress.com/thinkpython/thinkpython.pdf 贡献列表 自从本书诞生之后,有超过上百个目光敏锐且有想法的读者 ...
- python 把2个列表或者2个元组转成字典
python 把2个列表或者2个元组转成字典 使用映射的方法即可 语法如下: 字典 = dict(zip(list1,list2)) 说明: zip 是将2个列表或者2个元组合并 list1 是字典的 ...
- python 把元组转为列表
python 把元组转为列表的方法是在元组前面添加list ,与 python 的类型转换方法一样,具体如下 list_a = (1, 9, 10, 6) print(list_a) # 打印结果 ( ...
- python字典、列表、元祖使用场景_python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍...
python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 元祖跟列表类似.只不过是有区别的. 如下: tuple(元祖英文) 跟列表类似, 元素不能 ...
- 70个Python练手项目列表 预祝大家 快乐
小孩眺望远方,成人怀念故乡. 为此给大家分享一下珍藏的Python实战项目,祝大家节日快乐哦!!! Python 前言:不管学习哪门语言都希望能做出实际的东西来,这个实际的东西当然就是项目啦,不用多说 ...
- Python中将三个列表数据zip起来并遍历(Iterating through three lists in parallel)
Python中将三个列表数据zip起来并遍历(Iterating through three lists in parallel) 目录 Python中将三个列表数据zip起来并遍历(Iteratin ...
- Python中将两个列表数据zip起来并遍历(Iterating through two lists in parallel)
Python中将两个列表数据zip起来并遍历(Iterating through two lists in parallel) 目录 Python中将两个列表数据zip起来并遍历(Iterating ...
最新文章
- webpack中loader加载器(打包非js模块)
- 合格的CTO应该是什么样?雷军王海峰王小川等共谈「技术创新」| CNCC2020
- java怎样生成32位全是整形的主键_你肯定会需要的分布式Id生成算法雪花算法(Java)...
- winPcap编程之打开适配器并捕获数据包(四 转)
- 各主流浏览器内核介绍
- 厉害了!这里藏着通关学霸的秘籍
- 《团队作业》五小福团队--UNO的博客链接汇总
- Cocos2D学习笔记(1)- 常用的类
- Ubuntu 16.04 安装 CUDA10.1 (解决循环登陆的问题)
- 切比雪夫距离(bzoj 3210: 花神的浇花集会)
- 用命令行编译和运行C语言程序
- 用 SIR 模型拟合疫情感染情况
- 一窥朝鲜的计算机技术发展,操作系统,平板,杀毒软件,都有!
- 维基百科(Wikipedia)网址
- html仿写网易云音乐人页面,vue模仿网易云音乐的单页面应用
- VS2013使用教程总结(1)---忽略安全检查
- mysql5.6.1安装步骤_mysql5.6安装步骤
- SQL语句之单行函数
- 算法:动态申请数组(new)后将数组所有元素置零(初始化数组)的方法(炒鸡简单)(C++语言)
- AR儿童绘本技术实现
热门文章
- MySQL Workbench 8.0 CE数据库管理基本操作
- eclipse可以写前端吗_Python 竟然也可以写网页前端了!
- 资源高效搜索方法,你 Get 到了吗?
- 扩增子分析QIIME2(2018.6). 1简介和安装
- R语言进行dataframe数据左连接(Left join):使用R原生方法、data.table、dplyr等方案
- R语言e1071包中的支持向量机:构建nu-classification类型的支持向量机SVM并分析不同nu值惩罚下模型分类螺旋线型(sprials)线性不可分数据集的表现
- Python基于MASK信息抽取ROI子图并构建基于迁移学习(densenet)的图像分类器实战(原始影像和mask文件都是二维的情况)
- R语言删除包含缺失值的行并将字符数据列(character)转化为因子列(factor)实战
- R语言ggplot2包以及lattice包可视化方程、函数的曲线实战:function curve
- R可视化绘制泊松分布(Poisson Distribution)