filter() 函数的学习

filter,函数,学习 · 浏览次数 : 7

小编点评

**1.** `filter()` 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 `list()` 来转换。该接收两个参数,        第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。 **2.** `is_odd()` 函数用于过滤出列表中的所有奇数。 **3.** `list1` 列表中包含了平方根是整数的数,可以使用 `filter()` 函数筛选出这些数,并将结果转换为列表。 **4.** `is_sqr()` 函数用于过滤出 1~100 中平方根是整数的数,并将结果转换为列表。

正文

  1.    filter() 函数

        用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。该接收两个参数,

        第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

  可迭代对象:可以使用for循环遍历的对象.
d_user={'xiaogan':'123','xiaoming':'234'}

def f(a):
    print(a)

# 返回一个迭代器对象
list(filter(f,d_user))

 

 2.  过滤出列表中的所有奇数

# 过滤出列表中的所有奇数

def is_odd(n):

    return n%2==1

list1=[1,2,3,4,5,6,7,8]
# 把list1列表中的元素依次传入到is_odd函数中,然后筛选出满足奇数的。
templist=filter(is_odd,list1)

newlist=list(templist)

print(newlist)

运行截图:

3.  过滤出1~100中平方根是整数的数import math


# 输出平方根

print(math.sqrt(9))
print(math.sqrt(25))
print(math.sqrt(36))

def is_sqr(x):

    r=int(math.sqrt(x))

    return r*r==x

print(list(filter(is_sqr,range(1,101))))
或者
def is_sqrt(x):
# % 取余
if math.sqrt(x) % 1==0:
return math.sqrt

代码运行截图: 

 相关学习链接:

https://blog.csdn.net/qq_41545480/article/details/104648542

  让学习成为一种习惯,闪耀人生!

与filter() 函数的学习相似的内容:

filter() 函数的学习

1. filter() 函数 用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。该接收两个参数, 第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表

函数的作用域和匿名函数、闭包、回调

一、匿名函数: 1、filter函数,可以过滤出列表中大于3的数据,但是使用都需要提前定义一个函数,有没有更加简便的方式呢? def f(o): # 过滤器 if o>3: print(o) list(filter(f,[3,1,5,9,7,10])) 运行截图: 2、匿名函数(lambda后面是空

Python函数式编程之map/filter/reduce/sorted

Python函数式编程之map/filter/reduce/sorted 关于函数式编程 函数式编程Functional Programming,其思想更接近数学计算 函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定

网页“悼念模式”全站变灰/黑白色CSS代码

ElasticSearch 实现分词全文检索 - filter查询

query,根据查询条件,去计算文档的匹配度得到一个分数,并且根据分数进行排序,不会做缓存。【精准匹配度高】 filter,根据查询条件去查询文档,不去计算分数,而且filter会对经常被过滤的数据进行缓存。【查询效率会高】

Java扩展Nginx之六:两大filter

nginx-clojure提供了两种filter,分别用于处理header和body

结果过滤器—MVC项目中结果过滤器(Result Filter)使用

## 一、什么是结果过滤器? 结果过滤器(**ResultFilter**),是对执行的Action结果进行处理的一种AOP思想,适用于任何需要直接环绕 View 或格式化处理的逻辑。结果过滤器可以**替换或更改 Action 结果**。在 IActionResult 执行的前后执行,使用它能够控制

[转帖]一文看懂eBPF、eBPF的使用(超详细)

https://zhuanlan.zhihu.com/p/480811707 eBPF(extended Berkeley Packet Filter) 可谓 Linux 社区的新宠,很多大公司都开始投身于 eBPF 技术,如 Goole、Facebook、Twitter 等。 eBPF 究竟有什么

布隆过滤器

布隆过滤器 介绍 布隆过滤器(Bloom Filter)是1970年由布隆提出的 它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中 优点: 可以高效地进行查询,可以用来告诉你“某样东西一定不存在或者可能存在” 可以高效的进行插入 相比于传统的List

[转帖]7 个使用 bcc/BPF 的性能分析神器

https://linux.cn/article-9139-1.html 使用伯克利包过滤器Berkeley Packet Filter(BPF)编译器集合Compiler Collection(BCC)工具深度探查你的 Linux 代码。 在 Linux 中出现的一种新技术能够为系统管理员和开发者