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后面是空

Swift开发基础08-高阶函数

高阶函数是指接受其它函数作为参数,或者返回其它函数的函数。Swift 提供了许多内置的高阶函数,这些函数在处理集合类型数据(如数组、集合等)时尤其有用。常见的高阶函数包括 map、filter、reduce、flatMap 和 compactMap。 一、常用高阶函数 1. map map 函数会对

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

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

算法金 | 推导式、生成器、向量化、map、filter、reduce、itertools,再见 for 循环

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 不要轻易使用 For 循环 For 循环,老铁们在编程中经常用到的一个基本结构,特别是在处理列表、字典这类数据结构时。但是,这东西真的是个双刃剑。虽然看起来挺直白,一用就上手,但是,有时

网页“悼念模式”全站变灰/黑白色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 究竟有什么