lambda 匿名函数,map,filter,reduce,zip,介绍



sum_1=lambda x,y:x+yprint(sum_1(1,2))


l=[1,2,3,4]print(list(map(lambda x:x*4,l)))#map()将函数func应用于序列seq中的所有元素。# 在Python3之前,map()返回一个列表,# 列表中的每个元素都是将列表或元组“seq”中的相应元素传入函数func返回的结果#使用map就相当于使用了一个for循环def my_map(func,seq):    result=[]    for i in seq:        result.append(func(i))    return resultl=[1,2,3,4]print(list(my_map(lambda x:x+100,l)))#########

def my_map(func,seq):    for i in seq:        yield func(i)

l=[1,2,3,4]print(list(my_map(lambda x:x+100,l)))

#可以给map函数传入多个序列参数,它将并行的序列作为不同参数传入函数print(list(map(pow,[2,3,4],[10,11,12])))

from operator import addx=[1,2,3]y=[4,5,6]

print(list(map(add,[1,2,3],[4,5,6])))   #注意格式

############

#filter函数实现一个过滤的功能#判断大小li=[30,11,77,8,25,65,4]print(list(filter(lambda x:x>33,li)))

#判断两个列表的交集x=[1,2,3,4,5]y=[3,4,5,6,7]print(list(filter(lambda a: a in x,y)))

#reduce同样是接收两个参数:func(函数)和seq(序列,如list)#reduce最后返回的不是一个迭代器,它返回一个值#reduce首先将序列中的前两个元素,传入func中,# 再将得到的结果和第三个元素一起传入func,…,# 这样一直计算到最后,得到一个值,把它作为reduce的结果返回

#reduce 求和from functools import reduceprint(reduce(lambda x,y:x+y,[1,2,3,4]))

#求1-100 的和from functools import reduceprint(reduce(lambda x,y:x+y,range(1,101)))

#三元运算
#三元运算(三目运算)在Python中也叫条件表达式。# 三元运算的语法非常简单,主要是基于True/False的判断

#使用它就可以用简单的一行快速判断,# 而不再需要使用复杂的多行if语句from functools import reducel=[30,11,33,44,66,232,6]t=(2,3,5)print(reduce(lambda x,y:x if x>y else y,l))print(reduce(lambda x,y:x if x>y else y,t))print(max(max(2,6),5))  #利用max函数求最大值#三元运算配合lambda表达式和map,将一个列表里面的奇数加100print(list(map(lambda x: x+100 if x%2 else x,l)))#zip函数接收一个或多个可迭代对象作为参数,最后返回一个迭代器x=[‘a‘,‘b‘,‘c‘]y=[1,2,3]a=list(zip(x,y))print(a)b=list(zip(*a))print(b)#zip(x, y) 会生成一个可返回元组 (m, n) 的迭代器,# 其中m来自x,n来自y。 一旦其中某个序列迭代结束,# 迭代就宣告结束。 因此迭代长度跟参数中最短的那个序列长度一致x=[1,2,3,4,5]y=[9,5,6]for m,n in zip(x,y):    print(m,n)# 1 9# 2 5# 3 6itertools.zip_longest()from itertools import zip_longestfor m,n in zip_longest(x,y):    print(m,n)#1 9# 2 5# 3 6# 4 None# 5 None#其他应用keys = [‘name‘,‘age‘,‘salary‘]values=[‘andy‘,12,1111]d=dict(zip(keys,values))print(d)
时间: 2024-10-04 18:43:05

lambda 匿名函数,map,filter,reduce,zip,介绍的相关文章

python几个特别函数map filter reduce lambda

lambda函数也叫匿名函数,即,函数没有具体的名称.先来看一个最简单例子: def f(x): return x**2 print f(4) Python中使用lambda的话,写成这样 g = lambda x : x**2 print g(4) lambda表达式在很多编程语言都有对应的实现.比如C#: var g = x => x**2 Console.WriteLine(g(4)) 那么,lambda表达式有什么用处呢?很多人提出了质疑,lambda和普通的函数相比,就是省去了函数名称

python 内置函数 map filter reduce

map(函数名,可遍历迭代的对象) # 列组元素全加 10 # map(需要做什么的函数,遍历迭代对象)函数 map()遍历序列得到一个列表,列表的序号和个数和原来一样 l = [2,3,4,5,6,7,8] t = list(map(lambda x:x+10,l)) #遍历 l,l 里的元素全加10 map得到的结果是可迭代对象所以要list print(t) #===>[12, 13, 14, 15, 16, 17, 18] filter(函数名,可遍历迭代的对象) # filter(返回

python学习笔记-Day04-第三部分(内置函数,map,filter,reduce,yield)

map遍历序列,对其中的每个元素进行相应的操作,最终获得新的序列lst =[1,2,3,4]def fun(arg):    return arg+10new_lst = map(fun,lst) def fun2(a1,a2):    return a1+a2lst01 = [11,22,33]lst02 = [1,2,3]map(func2,lst01,lst02)  #序列的长度需要一致 或者 map(lambda a1,a2,a3:a1+a2,lst01,lst02) #########

20180720 (lambda匿名函数,sorded()排序函数,filter()筛选函数,map()映射函数,递归,二分函数)

一.lambda匿名函数           (一行搞定一个函数,但是不能完成复杂的函数操作) 语法:函数名 = lambda 参数 : 返回值 注意: 1.函数的参数可以有多个,多个参数之间用逗号隔开 2.匿名函数不管多复杂,只能写一行,且逻辑结束后直接返回数据 3.返回值和正常的函数一样,可以是任意数据类型 例如:普通函数 def func(n) return n*n print(func(6))               ======>36 例如:lambda a = lambda x

小学生都能学会的python(<lamda匿名函数,sorted(),filter(),map(),递归函数>)

小学生都能学会的python(<<lamda匿名函数,sorted(),filter(),map(),递归函数,二分法>> 1. lambda 匿名函数 lambda 参数: 返回值 注意: 1. 函数的参数可以有多个. 多个参数之间?逗号隔开2. 匿名函数不管多复杂. 只能写??, 且逻辑结束后直接返回数据3. 返回值和正常的函数?样, 可以是任意数据类型 # def fang(x): # return x**2 # # # ret = fang(5) # # print(ret

lambda匿名函数和他的小伙伴

lambda匿名函数 主要是为了解决一些简单的需求而设计的一句话函数 #计算n的n次方 def func(n): return n**n print(func(3)) #27 f = lambda n : n ** n print(func(3)) #27 语法: 函数名 = lambda 参数 : 返回值 注意: 函数的参数可以有多个, 多个参数之间用逗号分开 匿名函数不管多复杂, 只能写一行, 并且逻辑结束后直接返回数据 返回值和正常的函数一样,可以是任意数据类型. x = lambda a

函数-map,filter

map和filter函数 相似点:都是根据提供的函数对指定的序列做映射. 不同点:map一个函数对应N个序列,filter一个函数对应一个序列 1.map() map() 会根据提供的函数对指定序列做映射. 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表. 语法 map() 函数语法: map(function, iterable, ...) 参数 function -- 函数,有两个参数 iterable

lambda 匿名函数

lamdba的基础用法是: lambda arguments : expression 示例: add = lambda x,y:x+y print(add(1,2)) # 3 在lambda x, y : x + y中,x和y是函数的参数,x+y是表达式,它被执行并返回结果. lambda x, y : x + y返回的是一个函数对象,它可以被赋值给任何变量. 可与python数据处理函数map().reduce().filter() 搭配使用 map() 会根据提供的函数对指定序列做映射 示

Swift详解之五-----------map,filter,reduce

map,filter,reduce 注:本文为作者自己总结,过于基础的就不再赘述 ,都是亲自测试的结果.如有错误或者遗漏的地方,欢迎指正,一起学习. 关于Swift 中String .数组 .字典的基本用法这里就不再赘述了,这些都很简单 不会的 在用得时候baidu下就行了.这里主要看下这几个高阶函数 map map方法,其获取一个闭包表达式作为其唯一参数. 数组中的每一个元素调用一次该闭包函数,并返回该元素所映射的值(也可以是不同类型的值). 具体的映射方式和返回值类型由闭包来指定. 当提供给