python filter,map

filter

filter(...)
    filter(function or None, sequence) -> list, tuple, or string

说明:

对sequence中的item依次执行function(item),将执行结果为True(!=0)的item组成一个List/String/Tuple(取决于sequence的类型)返回,False则退出(0),进行过滤。

例子:

 1 >>> def div(n):return n%2
 2 ...
 3 >>> filter(div,range(5))                    #返回div输出的不等于0的真值
 4 [1, 3]
 5 >>> filter(div,range(10))
 6 [1, 3, 5, 7, 9]
 7 >>> filter(lambda x : x%2,range(10))        #lambda 函数返回奇数,返回列表
 8 [1, 3, 5, 7, 9]
 9 >>> filter(lambda x : not x%2,range(10))
10 [0, 2, 4, 6, 8]
11 >>> def fin(n):return n!=‘z‘                #过滤‘z‘ 函数,出现z则返回False
12 ...
13 >>> filter(fin,‘zhoujy‘)                    #‘z‘被过滤
14 ‘houjy‘
15 >>> filter(lambda x : x !=‘z‘,‘zhoujy‘)     #labmda返回True值
16 ‘houjy‘
17 >>> filter(lambda x : not x==‘z‘,‘zhoujy‘)  #返回:字符串
18 ‘houjy‘

map

map(...)
    map(function, sequence[, sequence, ...]) -> list

说明:

对sequence中的item依次执行function(item),执行结果输出为list。

例子:

>>> map(str, range(5))           #对range(5)各项进行str操作
[‘0‘, ‘1‘, ‘2‘, ‘3‘, ‘4‘]        #返回列表
>>> def add(n):return n+n
...
>>> map(add, range(5))           #对range(5)各项进行add操作
[0, 2, 4, 6, 8]
>>> map(lambda x:x+x,range(5))   #lambda 函数,各项+本身
[0, 2, 4, 6, 8]>>> map(lambda x:x+1,range(10))  #lambda 函数,各项+1[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>> map(add,‘zhoujy‘)
[‘zz‘, ‘hh‘, ‘oo‘, ‘uu‘, ‘jj‘, ‘yy‘]

#想要输入多个序列,需要支持多个参数的函数,注意的是各序列的长度必须一样,否则报错:
>>> def add(x,y):return x+y
...
>>> map(add,‘zhoujy‘,‘Python‘)
[‘zP‘, ‘hy‘, ‘ot‘, ‘uh‘, ‘jo‘, ‘yn‘]
>>> def add(x,y,z):return x+y+z
...
>>> map(add,‘zhoujy‘,‘Python‘,‘test‘)     #‘test‘的长度比其他2个小
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: add() takes exactly 2 arguments (3 given)

>>> map(add,‘zhoujy‘,‘Python‘,‘testop‘)
[‘zPt‘, ‘hye‘, ‘ots‘, ‘uht‘, ‘joo‘, ‘ynp‘]

 

时间: 2024-08-07 11:20:36

python filter,map的相关文章

python 内建函数 filter,map和reduce

python 内建函数 filter,map和reduce, 三个函数比较类似,都是应用于序列的内置函数,常见的序列包括list.tuple.str等.而且三个函数都可以和lambda表达式结合使用.下面分别介绍. 1.filter filter(bool_func,seq):此函数的功能类似过滤器.调用一个布尔函数bool_func来迭代遍历每个seq中的元素:返回一个使bool_seq返回值为true的元素的序列. 例如 : 从[1,2,3,4,5,6,7,8,9]序列中获取被3整除的序列

filter,map,reduce三个数组高阶函数的使用

filter ,map ,reduce三个高阶函数的使用 普通方法解决数据问题 const nums1= [10,20,111,222,444,40,50] // 需求1.取出小于100的数字 // 常规思想,用一个数组保存取出的数字,遍历里面的项,小于100的追加进新数组 let newNums = [] for(let n of nums1){ if(n<100){ newNums.push(n) } } console.log(newNums) // 需求2.再将所有小于100的数字进行转

Python常用内置函数整理(lambda,reduce,zip,filter,map)

匿名函数lambda lambda argument1,argument2,...argumentN :expression using arguments 1.lambda是一个表达式,而不是一个语句. 因为这一点,lambda可以出现在python语法不允许def出现的地方---例如,在一个列表常量中或者函数调用的参数中. 2.lambda 的主体是一个单个的表达式,而不是一个代码块. lambda是一个为编写简单的函数设计的,而def用来处理更大的任务. 例如: lambda表示式写法:f

1、lambda是什么?及filter,map,reduce

举个例子如下: 1 func=lambda x:x+1 2 print(func(1)) 3 #2 4 print(func(2)) 5 #3 6 7 #以上lambda等同于以下函数 8 def func(x): 9 return(x+1) 可以这样认为,lambda作为一个表达式,定义了一个匿名函数,上例的代码x为入口参数,x+1为函数体.在这里lambda简化了函数定义的书写形式.是代码更为简洁,但是使用函数的定义方式更为直观,易理解. Python中,也有几个定义好的全局函数方便使用的,

spark 的一些常用函数 filter,map,flatMap,lookup ,reduce,groupByKey

定义不带参数也不带返回值的函数(def :定义函数的关键字  printz:方法名称) scala> def printz = print("scala hello") 定义带参数也带返回值的函数(这种函数在定义时也可以不带返回值的类型,scala会自动推算出.建议还是带上) scala> def minNum(x:Int,y:Int):Int = if(x>y) x else y //:Int 是该函数的返回值类型 minNum: (x: Int, y: Int)I

python filter()和map()用法

filter(function or None, iterable) --> filter object:循环可迭代对象的元素,将这些元素作为function的参数,如果函数返回为True 则返回这些元素,否则就过滤这些元素 li=[11,22,33,44,55,0] def fun1(a): return a>22 re=list(filter(fun1,li)) #注意在python3以后这里不再返回的是列表而是一个可迭代的对象,所以要输出列表的话需要转换一下 print(re) #输出:

python filter()和map()函数

1.filter(func,iterable) 2.map(func,iterable) 1.filter(func,iterable)filter func要是一个限定第二个参数范围 2.map(func,iterable)map 的func是如果要判断元素的范围只能返回T or F lis=[1,2,3,4,5,6] r= map(lambda x: x if x>3 else 1,lis) for j in r: print(j)

python:lambda、filter、map、reduce

lambda 为关键字.filter,map,reduce为内置函数. lambda:实现python中单行最小函数. g = lambda x: x * 2 #相当于 def g(x): return x*2 Map函数 map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回. 举例说明 :比如我们有一个函数f(x)=x2,要把这个函数作用在一个list [1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用ma

python中filter、map、reduce的区别

python中有一些非常有趣的函数,今天也来总结一下,不过该类的网上资料也相当多,也没多少干货,只是习惯性将一些容易遗忘的功能进行整理. lambda 为关键字.filter,map,reduce为内置函数. lambda:实现python中单行最小函数. g = lambda x: x * 2 #相当于 def g(x): return x*2 filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的ite