手记

python 高阶函数 mark

map() 接收一个函数f和list,并通过吧函数作用在list的每个元素上,得到一个新的list并返回

!/usr/bin/env python
-- coding:utf-8 --

def f(x):
return x*x

li = map(f,[1,2,3,4,5])
print(li)

li = map(lambda x:x*x,[2,3,4,5,6])
print(li)
reduce()
接收一个函数f,一个list,f必须接收两个参数

!/usr/bin/env python
-- coding:utf-8 --

li = reduce(lambda x,y:xy,[1,2,3,4,5,6],1)
print (li)
相当于 12345
6 默认初始值为1
filter()
接收一个函数f,一个list,f的作用是对每个元素进行判断,返回True或False,过滤不符合条件的数据

!/usr/bin/env python
-- coding:utf-8 --

li = filter(lambda x:x>0,[-1,-3,2,3,4,-5,10])
print(li)
[2,3,4,10]
sorted()
对list进行排序,可以接受一个比较函数来实现自定义排序,传入排序规则

!/usr/bin/env python
-- coding:utf-8 --

def reversed_cmp(x,y):
return y - x

可以做 一个对象属性的比较

li = sorted([1,2,3,10,4,6,12],reversed_cmp)
print(li)
"""
[12, 10, 6, 4, 3, 2, 1]
"""

作者: qq_香草的天空_1
链接:http://www.imooc.com/article/16327?block_id=tuijian_wz
来源:慕课网

0人推荐
随时随地看视频
慕课网APP