python 内置函数map reduce filter sorted 理解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaoleizhanghahaha/article/details/82526513
map----------------------------------------------------------------
def st(x):
     return x+x
y=map(st,{1:2,2:2})#map(函数名字,可迭代对象(list,set,tuple,dict)值可以是数字,字符串)
print(type(y)) #<class 'map'> 返回的是map这个类元素是可迭代的list
print(y)#<map object at 0x00000055AD3AC278>
reduce----------------------------------------------------------------
def st(x,y):# 这里必须是两个参数
     return x/y  #这里可以是+ - * / 等
y=reduce(st,[1,2,3])#reduce(函数名字,可迭代对象(list,set,tuple,dict)值可以是数字,字符串)
print(type(y)) #<class 'float'> 返回的是 str,int,float,list,tuple,dict
print(y)#0.16666666666666666 求的是累+,累-  累* 累/

filter----------------------------------------------------------------

def st(s):

         return s and s.strip() #这里可以是正则表达式,写过滤条件

y=list(filter(st, ['A', '', 'B', None, 'C', '  '])) #''是False ' ' 是True
print(y)
# 结果: ['A', 'B', 'C']

sorted----------------------------------------------------------------

# s=sorted([36,5,-12,9,-21])#返回一个列表默认升序
# print(s)#[-21, -12, 5, 9, 36]
iterable:是可迭代类型;
cmp:用于比较的函数,比较什么由key决定;
key:用列表元素的某个属性或函数进行作为关键字,有默认值,迭代集合中的一项;
reverse:排序规则. reverse = True  降序 或者 reverse = False 升序,有默认值。
返回值:是一个经过排序的可迭代类型,与iterable一样。
参数说明:
(1)  cmp参数
cmp接受一个函数,拿整形举例,形式为:
def f(a,b):
    return a-b
如果排序的元素是其他类型的,如果a逻辑小于b,函数返回负数;a逻辑等于b,函数返回0;a逻辑大于b,函数返回正数就行了
(2)  key参数
     key也是接受一个函数,不同的是,这个函数只接受一个元素,形式如下
def f(a):
    return len(a)
key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序
(3) reverse参数
接受False 或者True 表示是否逆序
--------对函数不知道怎么去用,那就halp吧,例如:help(sorted)---------------------

猜你喜欢

转载自blog.csdn.net/xiaoleizhanghahaha/article/details/82526513