Python高级教程-filter
Python中的filter()
Python内建的filter()函数用于过滤序列。和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。
例如,在一个list中,删掉偶数,只保留奇数,可以这么写:
>>> def is_odd(n):
return n % 2 == 1 >>> filter(is_odd,[x for x in range(1,15)])
[1, 3, 5, 7, 9, 11, 13]
把一个序列中的空字符串删掉,可以这么写:
>>> def not_empty(s):
return s and s.strip() >>> filter(not_empty,['A','','B',None,'C',' '])
可见用filter()这个高阶函数,关键在于正确实现一个“筛选”函数
Python高级教程-filter的更多相关文章
- Python高级教程
关键字is 和 == 的区别 a = 'hello world' b = 'hello world' a == b #返回True a is b #返回False 注意:is 判断是否是一个ID, = ...
- python高级特性-filter
python内建的函数filter用于过滤序列 和map()相同:filter()也接收一个函数的序列. 和map()不同:filter()把传入的函数依次依次作用于每个元素,然后根据返回值是True ...
- Python高级教程-多重继承
多重继承 继承是面向对象编程的一个重要的方式,因为通过继承,子类可以扩展父类的功能. Animal类的层次设计,假设要实现以下4中动物: Dog - 狗狗: Bat - 蝙蝠: Parrot - 鹦鹉 ...
- Python高级教程-sorted
Python中的排序算法 排序是程序中经常用到的算法.通常规定,对于两个元素x和y,如果认为x<y,则返回-1,如果认为x == y,则返回0,如果认为x > y,则返回1,这样,排序算法 ...
- Python高级教程-Map/Reduce
Python中的map()和reduce() Python内建了map()和reduce()函数. map() map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每 ...
- Python高级教程-高阶函数
Higher-order function(高阶函数) 变量可以指向函数 以Python内置的求绝对值的函数abs()为例,调用该函数用以下代码: >>> abs(-10) 10 但 ...
- Python高级教程-生成器
生成器(Generator) 通过列表生成式,可以直接创建一个列表.但是,受内存限制,列表的容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几 ...
- Python高级教程-列表生成式
List Comprehensions(列表生成式) 列表生成式,是Python内置的非常简单却强大的可以用来创建list的生成式. 例如,要生成list:[1,2,3,4,5,6,7,8,9,10] ...
- Python高级教程-迭代
Python中的迭代 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们成为迭代(Iteration). 在Python中,迭代是通过for...in ...
随机推荐
- c# 字符串排序 (面试题)
将一些字符串,如: "bc", "ad", "ac", "hello", "xman", " ...
- CentOS下搭建wordpress全流程
突然,想搭建一个个人博客,所以就在网上搜了搜相关内容,好多人推荐wordpress,那么就打算光荣地采用wordpress了.以下是安装过程中遇到的所有的坑,现在总结如下,希望给安装wordpress ...
- php 判断是否在微信浏览器中打开
<?php $a=false; $b=$_SERVER['HTTP_USER_AGENT']; if(strpos($b,"MicroMessenger")===false) ...
- Asp.Net中使用水晶报表
Asp.Net中使用水晶报表(上) 在我们对VS.Net中的水晶报表(Crystal Reports)进行研究之前,我和我朋友对如何将这个复杂的东东加入我们的Web应用有着非常的好奇心.一周以后,在阅 ...
- echarts使用要点
- Linux系统常用工具集
整理Linux系统下一些日常工作中常用工具,旨在提高效率: 1.截图软件Shutter 2.通讯聊天工具pidgin 3.守护进程工具daemontools 4.远程桌面服务TigerVNC 5.Ma ...
- linux配置sftp用户的chroot步骤(用户的sftp根文件夹)
1.编辑ssh中的sftp的配置,命令可能是:vi /etc/ssh/sshd_config 在这个文件里最后增加 #限制sftp组的用户使用sftp时在自己的home文件夹下 Match Group ...
- 利用Fiddler或Charles进行mock数据
使用场景:服务器数据不符合测试条件时,我们可以通过在本地创建虚拟数据来打到测试用例所描述的条件. fiddler使用方法 1.首先在本地创建txt数据:将抓到的response中的json数据拷贝到记 ...
- Linux下搜索文件find、which、whereis、locate
Linux下搜索文件find.which.whereis.locate: - which 寻找“执行文件” - -a 将所有可找到的命令均列出,而不仅仅列出第一个找到的命令名称 - whereis 寻 ...
- 在Windows端安装kafka 提示错误: 找不到或无法加载主类 的解决方案
在配置好kafka的server.properties文件后,cmd进入命令窗口输入命令:.\bin\windows\kafka-server-start.bat config\server.prop ...