filter函数:遍历序列中的每个元素,判断每个元素得到布尔值,如果是True则留下

# 例子:条件筛选
name =['m_xiaoli','zhangfei','m_xiaoma','m_wangyun']
ret = []
def test(name):
for i in name:
if not i.startswith("m"):
ret.append(i)
return ret
print(test(name)) ['zhangfei'] def test1(array): # (最好不要用全局变量,自己定义一个变量如左)
for i in array:
if not i.startswith("m"):
ret.append(i)
return ret
print(test1(name))
['zhangfei']
# 在写程序时尽量不要把函数写死,
name =['xiaoli_d','zhangfei','xiaoma_d','m_wangyun']
ret = []
def qu_d(n):            # 定义灵活的函数
return n.endswith('_d')
def qu_m(w):
return w.startswith('m_')
def test(func,array):
for i in array:
if not func(i):
ret.append(i)
return ret
ret = test(qu_d,name) ref = []
def test2(func2,array2):
for p in array2:
if not func2(p):
ref.append(p)
return ref
ref = test2(qu_m,name) print('不是_d结尾的:',ret)
print('不是m_开头的:',ref) 不是_d结尾的: ['zhangfei', 'm_wangyun']
不是m_开头的: ['xiaoli_d', 'zhangfei', 'xiaoma_d']
 #不定义,用lamnda函数也可以
name =['xiaoli_d','zhangfei','xiaoma_d','m_wangyun']
ret = []
def test(func,array):
for i in array:
if not func(i):
ret.append(i)
return ret
ret = test(lambda i:i.endswith('_d'),name)
print('不是_d结尾的:', ret) 不是_d结尾的: ['zhangfei', 'm_wangyun']
# 终极版 filter函数
name =['xiaoli_d','zhangfei','xiaoma_d','m_wangyun']
ret = []
def test(func,array):
for i in array:
if not func(i):
ret.append(i)
return ret
ret = filter(lambda i:not i.endswith('_d'),name)
print('不是_d结尾的:',list(ret)) 不是_d结尾的: ['zhangfei', 'm_wangyun']

py-day4 python filter函数的更多相关文章

  1. python filter函数(40)

    一.filter函数简介 filter函数主要用来筛选数据,过滤掉不符合条件的元素,并返回一个迭代器对象,如果要转换为列表list或者元祖tuple,可以使用内置函数list() 或者内置函数tupl ...

  2. Python filter() 函数

    Python filter() 函数 描述 filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表. 该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为 ...

  3. day16 Python filter函数

    前戏 movie_people = ["alex","charon","pluto","liu","sb&qu ...

  4. python filter函数应用,过滤字符串

    >>> candidate = 'dade142.;!0142f[.,]ad' >>> filter(str.isdigit, candidate) #保留数字 ' ...

  5. python filter函数

    number_list = range(-, ) less_than_zero = list(filter(lambda x: x < , number_list)) print(less_th ...

  6. filter(函数,可以迭代的对象)

    #!/usr/bin/env python #filter(函数,可以迭代的对象) def f1(x): if x > 22: return True else: return False re ...

  7. python基础——filter函数

    python基础——filter函数 Python内建的filter()函数用于过滤序列. 和map()类似,filter()也接收一个函数和一个序列.和map()不同的是,filter()把传入的函 ...

  8. python的filter()函数

    filter()函数是 Python 内置的另一个有用的高阶函数. filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,fil ...

  9. Python函数式编程:内置filter函数使用说明

    filter操作是函数式编程中对集合的重要操作之一,其作用是从原集合中筛选符合条件的条目,组成一个新的集合. 这在我们日常编程中是非常常见的操作.我们通常的做法是通过循环语句来处理. 而使用filte ...

随机推荐

  1. oracle入门之分页查询

    oracle的分页查询共三种方法 1.根据ROWID来分页(速率一般) SQL>select * from emp where rowid in (select rid from (select ...

  2. PCA降维—降维后样本维度大小

    之前对PCA的原理挺熟悉,但一直没有真正使用过.最近在做降维,实际用到了PCA方法对样本特征进行降维,但在实践过程中遇到了降维后样本维数大小限制问题. MATLAB自带PCA函数:[coeff, sc ...

  3. 浏览器兼容性汇总--JavaScript篇

    目录 JavaScript中的兼容性汇总 1.        HTML对象获取问题 2.        const问题 3.        event.x与event.y问题 4.        wi ...

  4. code about led_shake

    //write by:cyt //Project Name:Led on/off //Time:2017-2-10 #include<reg51.h> void delay(int c) ...

  5. python—函数

    # 函数:1.减少重复代码:# 2.使程序变的可扩展# 3.使程序变的易维护# 永远只能且返回一个值#def 定义内容# a,b = 5,8# c = a** b# print(c)## def ca ...

  6. XShell转发数据库端口

    隧道添加 源主机为本地 目标主机为需要转发的主机

  7. SQL设置时间格式

    SELECT STR_TO_DATE('Jul 20 2013 7:49:14:610AM','%b %d %Y %h:%i:%s:%f%p') from DUAL; -- 执行后得到结果:'2013 ...

  8. 角度&弧度转换

    一.角度转换为弧度 问题: 当使用Math类的三角函数的时候,所有的单位都是用弧度表示的.你有一个或多个角是用角度数度量的,并且希望把它们转换为弧度数,从而可以用它们作为Math类的成员. 解决方法: ...

  9. jQuery-3.事件篇---键盘事件

    jQuery键盘事件之keydown()与keyup()事件 鼠标有mousedown,mouseup之类的事件,这是根据人的手势动作分解的2个触发行为.相对应的键盘也有这类事件,将用户行为分解成2个 ...

  10. jdk的环境变量配置

    首先下载jdk,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 可以选择下载jdk的版本,按照提示一步一 ...