Python—高阶函数之map,filter,sorted

每个函数分别以一个示例来示意它的定义和用法 ~_~
1.map (function, *iterable)
返回一个可迭代对象,此可迭代对象用函数function对可迭代对象iterable中的每一个元素作为参数计算后得到新的数据
示例:
1**2 + 2**2 +3**2 + …+9**2 (1~9的平方和)
方法1:自定义函数计算x的平方

def power2(x): 
        return x**2 
print(sum(map(power2,range(1,10))))

方法2 :匿名函数lambda计算x的平方

print(sum(map(lambda x : x**2,range(1,10))))

2.filter(function, iterable)
作用:
1.)筛选可迭代对象iterable中的数据,返回一个可迭代对象,此可迭代对象只返回iterable中符合条件的数据
2.) Function将对iterable中提供的每个数据进行布尔求值, True保留,False丢弃
示例:
用filter函数将1~100之间所有的素数放入列表L中

def isprime(x):
     if x<2:
         return False
     for i in range(2,x):
         if x % i == 0:
            return False
     return True
 L=list(filter(isprime,range(100)))
 print(L)

3.sorted (iterable, key=None, reverse= False)
作用:将原可迭代对象的数据进行排序,生成排序后的列表
说明:
1.) Iterable 可迭代对象
2.)Key 函数是用来提供一个值,这个值将作为排序的依据,如果不给出key函数,则用原数据的值进行比较和排序
3.)Reverse标志用来设置是否降序排序
示例:
names=[‘Tom’,’Jerry’,’Spike’,’Tyke’]
排序的依据为字符串反序’moT’,’yrreJ’,’ekyT’,’ekipS’
结果:[‘Spike’,’Tyke’,’Tom’,’Jerry’]

names=['Tom','Jerry','Spike','Tyke']
def rever(s):
    s=s[::-1]
    return s
L=sorted(names,key=rever)
print(L)

猜你喜欢

转载自blog.csdn.net/sinat_34246179/article/details/82085181