Python过滤函数filter()使用自定义函数过滤序列实例,pythonfilter
Python过滤函数filter()使用自定义函数过滤序列实例,pythonfilter
filter函数:
filter()函数可以对序列做过滤处理,就是说可以使用一个自定的函数过滤一个序列,把序列的每一项传到自定义的过滤函数里处理,并返回结果做过滤。最终一次性返回过滤后的结果。
filter()函数有两个参数:
第一个,自定函数名,必须的
第二个,需要过滤的列,也是必须的
DEMO
需求,过滤大于5小于10的数:
复制代码 代码如下:
# coding=utf8
# 定义大于5小于10的函数
def guolvhanshu(num):
if num>5 and num<10:
return num
# 定义一个序列
seq=(12,50,8,17,65,14,9,6,14,5)
# 使用filter函数
result=filter(guolvhanshu,seq)
# (8,9,6)
print result
执行结果:
复制代码 代码如下:
(8, 9, 6)
因为8,9,6大于5,小于10所以被过滤下来了。
map是把函数调用的结果放在列表里面返回,它也可以接受多个 iterable,在第n次调用function时,将使用iterable1[n], iterable2[n], ...作为参数。
filter(function, iterable)
这个函数的功能是过滤出iterable中所有以元素自身作为参数调用function时返回True或bool(返回值)为True的元素并以列表返回.
def f_large_than_5(x):
return x > 5
filter(f_large_than_5, range(10))
>>[6,7,8,9]
3.x 返回的是一个iter obj,如果想返还【】,要加上list()
>>> list(filter(bigger_than_five,[1,10]))
[6, 7, 8, 9, 10]
其实3.x里面,达到你的这个目的的最简单的方法就直接:
>>> [x for x in range(11) if x > 5]
[6, 7, 8, 9, 10]
相关内容
- Python中使用item()方法遍历字典的例子,pythonitem
- Python引用(import)文件夹下的py文件的方法,
- Python version 2.7 required, which was not found in the registry,py
- 闭包在python中的应用之translate和maketrans用法详解,pyt
- python中的多线程实例教程,python实例教程
- Python对象的深拷贝和浅拷贝详解,python拷贝详解
- Python中声明只包含一个元素的元组数据方法,python声明
- Python跳出循环语句continue与break的区别,pythoncontinue
- Python实现的一个找零钱的小程序代码分享,python零钱
- Python中变量交换的例子,python变量交换
评论关闭