python 高阶函数三 filter()和sorted()
2024-09-02 05:46:43
一、filter()函数
filter()
接收一个函数和一个序列。filter()
把传入的函数依次作用于每个元素,然后根据返回值是True
还是False
决定保留还是丢弃该元素。
>>> from collections import Iterator
>>> def is_odd(n):
... return n % 2 == 1
...
>>> it = filter(is_odd, [1, 2, 3, 4, 5, 6])
>>> it
<filter object at 0x1013e58d0>
>>> isinstance(it, Iterator)
True
>>> list(it)
[1, 3, 5]
filter()
函数返回的是一个Iterator
,也就是一个惰性序列,所以要强迫filter()
完成计算结果,需要用list()
函数获得所有结果并返回list。
二、sorted()函数
sorted()
函数就可以对list进行排序
>>> sorted([36, -5, 9, -12])
[-12, -5, 9, 36]
sorted()
函数也是一个高阶函数,它还可以接收一个key
函数来实现自定义的排序,例如按绝对值大小排序:
>>> sorted([36, -5, 9, -12], key=abs)
[-5, 9, -12, 36]
>>> sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower, reverse=True)
['Zoo', 'Credit', 'bob', 'about']
最新文章
- 第二天--html+css
- [Java 基础]控制语句
- R的卸载和更新安装
- Linux环境数据备份Python脚本
- Brocade博科光纤交换机zone配置
- 【翻译二十三】java-并发程序之随机数和参考资料与问题(本系列完)
- IIS 7 应用程序池自动回收关闭的解决方案
- BI之SSAS完整实战教程4 -- 部署至SSAS进行简单分析
- iOS在线音乐播放SZKAVPlayer(基于AVPlayer的封装)
- 有关AES加密的问题
- 面试题25:最小的K个数
- Ubuntu16.04.1安装JDK1.8.0
- Sublime 3基于python环境的使用
- Web API学习——Web API 强势入门指南
- [转帖] bat方式遍历目录内的文件
- E: Unable to correct problems, you have held broken packages
- ArcGIS Engine 10.x许可代码
- 洛谷 P1359 租用游艇【dp】(经典)
- ELK环境搭建完整说明
- Guava的SetMultimap
热门文章
- CritterAI与Recast Navigation寻路
- D. Little Artem and Dance---cf669D
- [Bzoj4832][Lydsy2017年4月月赛]抵制克苏恩 (期望dp)
- linux修改PS1,自定义命令提示符样式
- mybatis结合generator进行分页插件PluginAdapter开发
- AES算法加密java实现
- 开源yYmVc项目,邀您和我一起开发:)
- 【SICP练习】149 练习4.5
- Effective C++学习笔记(Part Two:Item 5-12)
- 嵌入式开发之davinci--- 8148/8168/8127 中的图像缩放sclr、swms之后出现图像视频卡顿、屏幕跳跃的问题