当前位置: 首页 > news >正文

python 高阶函数三 filter()和sorted()

一、filter()函数

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

 1 >>> from collections import Iterator
 2 >>> def is_odd(n):
 3 ...     return n % 2 == 1
 4 ... 
 5 >>> it = filter(is_odd, [1, 2, 3, 4, 5, 6])
 6 >>> it
 7 <filter object at 0x1013e58d0>
 8 >>> isinstance(it, Iterator)
 9 True
10 >>> list(it)
11 [1, 3, 5]

filter()函数返回的是一个Iterator,也就是一个惰性序列,所以要强迫filter()完成计算结果,需要用list()函数获得所有结果并返回list。

二、sorted()函数

sorted()函数就可以对list进行排序

1 >>> sorted([36, -5, 9, -12])
2 [-12, -5, 9, 36]

sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序,例如按绝对值大小排序:

1 >>> sorted([36, -5, 9, -12], key=abs)
2 [-5, 9, -12, 36]
1 >>> sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower, reverse=True)
2 ['Zoo', 'Credit', 'bob', 'about']

 

转载于:https://www.cnblogs.com/gundan/p/8047836.html

相关文章:

  • bzoj1036[ZJOI2008]树的统计Count 树链剖分+线段树
  • 自然语言处理入门学习(一)
  • 文件和目录权限chmod 更改所有者和所属组chown umask 隐藏权限lsattr/chattr
  • 面向对象java知识汇总题
  • PAT 1023.组个最小数
  • mongodb for windows安装
  • 【比赛】NOIP2017 宝藏
  • gdb调试多线程程序总结
  • Excel2016通过宏生成拼音码
  • Web离线应用解决方案——ServiceWorker
  • am335x SPI spi_d0, spi_d1 out, in 模式设定
  • spring+activemq实战之配置监听多队列实现不同队列消息消费
  • cookie,localStorage和sessionStorage的区别
  • Centos7下配置Python3和Python2共存,以及对应版本Ipython安装配置
  • USB驱动程序之USB总线驱动程序学习笔记
  • Brief introduction of how to 'Call, Apply and Bind'
  • javascript 哈希表
  • oldjun 检测网站的经验
  • Travix是如何部署应用程序到Kubernetes上的
  • Vue全家桶实现一个Web App
  • 从0到1:PostCSS 插件开发最佳实践
  • 今年的LC3大会没了?
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 微信小程序开发问题汇总
  • 怎么将电脑中的声音录制成WAV格式
  • No resource identifier found for attribute,RxJava之zip操作符
  • Prometheus VS InfluxDB
  • UI设计初学者应该如何入门?
  • 国内开源镜像站点
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • $.ajax()参数及用法
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (70min)字节暑假实习二面(已挂)
  • (arch)linux 转换文件编码格式
  • (C#)一个最简单的链表类
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (六)vue-router+UI组件库
  • (篇九)MySQL常用内置函数
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)shell调试方法
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .net mvc部分视图
  • .NET 表达式计算:Expression Evaluator
  • .net反编译工具
  • .skip() 和 .only() 的使用
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • @Autowired和@Resource装配
  • [<MySQL优化总结>]
  • [1] 平面(Plane)图形的生成算法
  • [20150629]简单的加密连接.txt
  • [Android]如何调试Native memory crash issue