匿名函数

python匿名函数(lambda)

邮差的信 提交于 2020-03-21 18:36:10
与正常写法相比,使用匿名函数相当简洁 map() 遍历所有 a = [1, 2, 3] x = [] for each in a: x.append(each+1) print(x) ### 使用map(func, iterable) print(list(map(lambda x: x+1, a))) reduce(func, seq) 积累每次计算的值 def num(x, y): return x + y print(reduce(num, [1, 2, 3, 4])) -------------------------- print(reduce(lambda x, y: x*y, [1, 2, 3, 4])) filter(func, iterable) 过滤满足条件的值 print(list(filter(lambda x: x%2==0,range(10)))) 本文首发于 python黑洞网 ,博客园同步更新 来源: https://www.cnblogs.com/pythonzhilian/p/12541117.html

DOM节点操作

只谈情不闲聊 提交于 2020-03-18 01:16:06
DOM中有一个非常重要的功能,就是节点模型,也就是DOM中的“M” 。页面中的元素结构就是通过这种节点模型来互相对应着的,我们只需要通过这些节点关系,可以创建、 插入、替换、克隆、删除等等一些列的元素操作。 创建节点 为了使页面更加智能化,有时我们想动态的在html结构页面添加一个元素标签,那么在插入之前首先要做的动作就是:创建节点。 html代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>DOM节点操作</title> <script type="text/javascript" src="jquery-1.12.3.js"></script> <script type="text/javascript" src="demo.js"></script> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> </body> </html> 创建一个节点: var box = $("<div id='box'>节点</div>"); //创建节点 将节点插入到<body>元素内部: $("body").append(box); //插入节点 插入节点 在创建节点的过程中,其实我们已经演示怎么通过.append

【Node.js】匿名函数-闭包-Promise

删除回忆录丶 提交于 2020-03-17 03:17:07
javascript中, 匿名函数多用于实现回调函数和闭包 闭包=函数+引用环境, promise 是 ES6 中语言标准,保存着某个未来才会结束的事件(通常是一个异步操作)的结果. const promise = new Promise(function(resolve, reject) { // ... some code if (/* 异步操作成功 */){ resolve(value); } else { reject(error); } }); 0.引言 工作中,有一个业务功能:周期扫描任务,每一个周期会扫描出数据,然后按照周期数存到 elasticsearch ,现在需要每个周期之间的数据是否有重叠关联的数据去支撑 周期快照功能 ,通过 Query DSL +kibana 可视化查询,或可通过肉眼比对,未免劳心劳力。 kibana 也是通过 http post 请求,然后返回数据 json ,那么我们完全可以模拟 kibana 请求,获取数据,再通过代码比对相邻周期数据,输出文件,一个小爬虫兼数据分析的小工具构想浮现在脑海中。 1.第一个index.js 由于真实代码在公司,示例代码做了修改, url 替换成了百度 , post 替换为 get const http = require('https'); function spider() { for (i = 0;

函数递归+匿名函数+内置函数day15

感情迁移 提交于 2020-03-16 06:26:52
一、函数递归 什么是函数递归:   函数递归调用是一种特殊的嵌套调用,在调用一个函数的过程中,又直接或间接地调用了该函数本身。 其中,函数的递归有明确的结束条件,不能无限制的调用,否则会撑破内存,在Python中限定递归最多调用1000层。 1000层这个值是大概的数值,这个数值可以通过Python内置的功能进行更改。 递归必须要有两个明确的阶段:   递推:一层层递归调用下去,强调每次进入下一次递归,问题规模都在减小   回溯:递归必须要有一个明确的结束条件,在满足该条件时结束递推,开始一层层回溯   其中,递归的精髓在于通过不断的重复逼近一个最终结果。 循环(while)能做的,递归都可以,为什么还要递归?   因为相较于循环,递归无须确定循环次数,只需确定结束条件。 举个例子,递归的应用: 二分法: 有个从小到大排列对的列表,判断某个值是否在里面。 nums=[1,3,7,11,22,34,55,78,111,115,137,149,246,312] def search(search_num,nums): print(nums) if len(nums)==0: print('not exists') return mid_index=len(nums)//2 if search_num>nums[mid_index]: nums=nums[mid_index+1:]

转:高阶函数、委托与匿名方法

半世苍凉 提交于 2020-03-15 16:34:43
因为InfoQ老是打不开,于是从转上来了。 高阶函数(higher-order function)是指把另一个函数作为参数或返回值的函数。例如在JavaScript语言中,Function是顶级类型。一个函数就是类型为 Function的顶级对象,自然就可以作为另一个函数的参数或返回值。例如在Microsoft AJAX Library(ASP.NET AJAX的客户端类库)中有一个被广泛使用的createDelegate方法。该方法接受一个对象A和一个函数F作为参数,并返回一个函数R。当调用函 数R时,F函数将被调用,并且保证无论在什么上下文中,F的this引用都会指向对象A: Function.createDelegate = function(instance, func) { return function() { return callback.apply(a, arguments); } } 委托是.NET平台中一种特殊的类型。有人说,它是一种强类型的函数指针。这种说法虽然细节上略失偏颇,但是从功能和作用上讲不无道理。有了委 托类型,一个方法就能被封装成一个对象被作为另一个方法的参数或返回值,这自然就为.NET平台上的语言(例如C#,VB.NET)引入了对高阶函数的“ 原生支持”1。例如在System.Array类中就有许多静态的高阶函数

python之高阶函数和匿名函数

别说谁变了你拦得住时间么 提交于 2020-03-12 22:01:06
map() map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。 1 def func(x): 2 return x*x 3 4 r = map(func, [1, 2, 3, 4, 5]) 5 print(type(r)) 6 r = list(r) 7 print(r) 输出结果: <class 'map'> [1, 4, 9, 16, 25] 可以看出,map让函数func作用于列表的每一项,使列表的每一项都被函数func执行一次,即列表的每一项都进行平方。其返回值是map类型。 reduce() reduce函数必须接收两个参数,把一个函数作用在一个序列[x1, x2, x3, ...]上,然后再把结果继续和序列的下一个元素做累积计算 。 1 from functools import reduce 2 3 def fn(x, y): 4 return x * 10 + y 5 6 f = reduce(fn, [1, 3, 5, 7, 9]) # 把序列变为整数 7 print(f) 8 print(type(f)) 输出结果: 13579 <class 'int'> 和map不同,虽然reduce也是作用于每个元素,但是reduce的作用结果要用在下次和另一个元素做累积计算。

匿名函数

这一生的挚爱 提交于 2020-03-11 18:11:27
#####匿名函数 # def add(a,b): # return a+b # print(add(1,2)) # add = lambda a,b: a+b # print(add(1,2)) # def func(key): # return dic[key] # dic = {'k1':10,'k2':100,'k3':30} # print(max(dic,key=lambda k:dic[k])) # print(min(dic,key=lambda k:dic[k])) # min max filter map sorted ------都可以和lambda配合 ((('a'),('b')),(('c'),('d'))) # ret = zip((('a'),('b')),(('c'),('d'))) # def func(tup): # return {tup[0]:tup[1]} # res = map(func,ret) # print(list(res)) # ret = zip((('a'),('b')),(('c'),('d'))) # res = map(lambda tu:{tu[0]:tu[1]},ret) # print(list(res)) # res = list(map(lambda tu:{tu[0]:tu[1]},zip((('a'),(

Python匿名函数

谁都会走 提交于 2020-03-11 18:11:06
1. 请利用filter()过滤出1~100中平方根是整数的数,即结果应该是: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 1 import math 2 def func(x): 3 return math.sqrt(x) % 1 == 0 4 ret = filter(func,range(0,101)) 5 for i in ret: 6 print(i) 2. 列表按照其中每一个值的绝对值排序 li = [1,-2,3,-48,78,9] print(sorted(li,key = abs)) 结果: [1, -2, 3, 9, -48, 78] 3. 列表按照每一个元素的len排序 li = [(1,-2),[3],[-48,78,9],'hello world'] ret = sorted(li,key = len) print(ret) 结果: [[3], (1, -2), [-48, 78, 9], 'hello world'] 4.请把以下函数变成匿名函数 def add(x,y): return x+y 改成匿名函数: ret = lambda x,y:x+y 5. 下面程序的输出结果是: d = lambda p:p*2 t = lambda p:p*3 x = 2 x = d(x) x = t(x) x = d(x)

python学习笔记之匿名函数

时间秒杀一切 提交于 2020-03-11 18:10:47
def add(x,y): return x+yadd = lambda x,y:x+yprint(add(1,2))dic={'k1':10,'k2':100,'k3':30}def func(key): return dic[key]print(max(dic,key=func)) #根据返回值判断最大值,返回值最大的那个参数是结果print(max(dic,key=lambda key:dic[key]))max([1,2,3,4,5,-6,-7],key=abs)ret = map(abs,[-1,2,-3,4])for i in ret: print(i)def func(x): return x**2ret = map(func,[-1,2,-3,4])for i in ret: print(i)ret = map(lambda x:x**2,[-1,2,-3,4]) 来源: https://www.cnblogs.com/CoolClare/p/10938124.html

PHP之闭包详解

拜拜、爱过 提交于 2020-03-11 06:07:15
匿名函数 提到闭包就不得不想起匿名函数,也叫闭包函数(closures),貌似PHP闭包实现主要就是靠它。声明一个匿名函数是这样: 1 $func = function() { 2 3 }; //带结束符 可以看到,匿名函数因为没有名字,如果要使用它,需要将其返回给一个变量。匿名函数也像普通函数一样可以声明参数,调用方法也相同: 1 $func = function( $param ) { 2 echo $param; 3 };$func( 'some string' ); 4 //输出: 5 //some string 顺便提一下,PHP在引入闭包之前,也有一个可以创建匿名函数的函数:create function,但是代码逻辑只能写成字符串,这样看起来很晦涩并且不好维护,所以很少有人用。 实现闭包 将匿名函数在普通函数中当做参数传入,也可以被返回。这就实现了一个简单的闭包。 下边有三个例子 1 //例一 2 //在函数里定义一个匿名函数,并且调用它 3 function printStr() { 4 $func = function( $str ) { 5 echo $str; 6 }; 7 $func( 'some string' ); 8 }printStr(); 9 10 //例二 11 //在函数中把匿名函数返回,并且调用它 12 function