您的位置:首页 > 编程语言 > Python开发

python把函数作为参数的函数

2016-12-01 21:36 176 查看
参考

http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00141861202544241651579c69d4399a9aa135afef28c44000

map() 可以理解为一种映射

map(func, sequence)

入参是函数和序列

返回一个列表,这个列表是序列的每个元素被func作用后的结果。

举例:把列表中的数字转化为字符串

list_a = [1,2,3]

list_a_str = map(str, list_a)

非常有用的一点是lambda可以当做参数来使用。

map(lambda x:x*x, list_a)

filter(func, sequence)

过滤和筛选

入参:函数和序列

返回值:可以这样理解if func(item) 则保留func(item)

help(filter)查看帮助

比如我要通过白名单过滤一个列表

比如:我有一个白名单列表white_list,有一个系统账户列表user_list,我现在想获取不在白名单中的账户列表result_list,那么我可以通过filter进行过滤。

def is_in(usr_name, white_list):

if user_name in white_list:

return True

else:

return False

result_list = filter(is_in, user_list)

或者通过列表生成器

result_list = [user for user in user_list if user not in white_list]

lambda匿名函数

关键字lambda表示匿名函数,冒号前面的x表示函数参数

lambda x:x*x
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python