python基础入门:高阶函数

filter函数

filter( ) 也接收一个函数和一个序列。和 map( ) 不同的是,filter( ) 把传入的函数依次作用于每个元素,然后根据返回值是 True还是 False 决定保留还是丢弃该元素

在一个 list 中,删掉偶数,只保留奇数:

‘’’

遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939

寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!

‘’’

def fun(n):

return n % 2 == 1

print filter(fun,range(5))

结果:

[1, 3]

sorted函数

  • 排序也是在程序中经常用到的算法。 无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。通常规定如下:

x < y, return -1

x == y, return 0

x > y, return 1

print sorted([3, 1, 2])

print sorted([3, 1, 2], reverse=True)

结果:

[1, 2, 3]

[3, 2, 1]

排序数字字符

li = [‘2’, ‘1’, ‘4’, ‘3’]

print sorted(li, key=int)

结果:

[‘1’, ‘2’, ‘3’, ‘4’]

匿名函数

  • 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。

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

‘’’

遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939

寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!

‘’’

print map(lambda x: x * x, [1, 2, 3, 4])

def fun(x):

return x * x

print map(fun, [1, 2, 3, 4])

结果:

[1, 4, 9, 16]

[1, 4, 9, 16]

  • 匿名函数有只能有一个表达式,不用写 return ,返回值就是该表达式的结果。

  • 因为匿名函数没有名字,不必担心函数名冲突。 此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数;

f = lambda x: x * x

print f

print f(3)

结果:

<function at 0x7fde80eb7938>

9

  • 把匿名函数作为返回值返回

‘’’

遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939

寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!

‘’’

def fun(x, y):

return lambda: x * x + y * y

print fun(1, 2)

f = fun(1, 2)

print f()

结果:

<function at 0x7f5c2942a9b0>

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值