Python中的filter()函数

2023-11-19

目录

一、描述

语法

返回值

二、实例

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

2.过滤出1~100中平方根是整数的数:


一、描述

英文文档

filter(functioniterable)

Construct an iterator from those elements of iterable for which function returns true. iterable may be either a sequence, a container which supports iteration, or an iterator. If function is None, the identity function is assumed, that is, all elements of iterable that are false are removed.

Note that filter(function, iterable) is equivalent to the generator expression (item for item in iterable iffunction(item)) if function is not None and (item for item in iterable if item) if function is None.

See  for the complementary function that returns elements of iterable for which functionreturns false.

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

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

语法

filter(function, iterable)

  • function -- 判断函数。
  • iterable -- 可迭代对象。

返回值

返回一个迭代器对象(不是原有数据类型,需转换格式)


二、实例

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

#!/usr/bin/python3 
def is_odd(n): 
    return n % 2 == 1 
tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) 
newlist = list(tmplist) 
print(newlist)

输出结果 :[1, 3, 5, 7, 9]

结合前面学到的Lambda表达式,可以使用函数式编程来实现

#!/usr/bin/python3 

tmplist = filter(lambda x:x%2, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) 
newlist = list(tmplist) 
print(newlist)

2.过滤出1~100中平方根是整数的数:

#!/usr/bin/python3 
import math 
def is_sqr(x): 
    return math.sqrt(x) % 1 == 0 
tmplist = filter(is_sqr, range(1, 101)) 
newlist = list(tmplist) 
print(newlist)

输出结果 :[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]


 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python中的filter()函数 的相关文章

随机推荐

  • 网易某歌曲参数JS逆向分析,多图预警

    之前写过一篇网易云的文章 但是一直不过审 这几天搞QQ音乐的爬虫 JS逆向不是很顺利 有点忘了怎么搞了 所以今天打断点重搞一把网易云音乐 毕竟是之前搞过的 找加密函数 最下面有个url就是歌曲mp3文件的url 也就是目标url 接下来看这
  • shell 常量和变量拼接_PHP常量的定义和用法

    我们通常把不经常变的值定义成常量 常量一般用全部大写来表示 前面不加美元符号 也可减少团队开发的出错 那么define和const有什么区别呢 1 const是一个语言结构 而define是一个函数 可以通过第三个参数来指定是否区分大小写
  • php解决高并发问题

    转载 https www php cn php weizijiaocheng 350323 html 这篇文章说得很好 记录一下 我们通常衡量一个Web系统的吞吐率的指标是QPS Query Per Second 每秒处理请求数 解决每秒数
  • Nginx官方文档(四十五)【ngx_stream_core_module】

    ngx stream core module 示例配置 指令 listen preread buffer size preread timeout proxy protocol timeout resolver resolver timeo
  • java强制类型转换时异常(java.lang.ClassCastException)

    1 如果你的项目中出现如下情况 说明你的java类文件中你运用了强制转换 什么是强制转换也就是 你用一种类型接受了另一种类型 发生了类型转化 但是类型转换一般 都是向上转型的 如 int 转 double 还有 int 转 String 这
  • ipsvd arm交叉编译

    ipsvd arm交叉编译 ipsvd是什么 交叉编译 总结 ipsvd是什么 ipsvd全称是 internet protocol service daemons 即网际协议服务守护程序 常用的是udpsvd和tcpsvd 这两个既存在于
  • 数据结构笔记(十四)-- 串的模式匹配算法

    串的模式匹配算法 一 普通模式匹配算法 1 算法解析 普通模式匹配算法 其实现过程没有任何技巧 就是简单粗暴地拿一个串同另一个串中的字符一一比对 得到最终结果 例如 使用普通模式匹配算法判断串 T abcac 是否为串 S ababcabc
  • 将Eclipse项目导入到IntelliJ IDEA中

    打开IntelliJ IDEA 点击菜单栏的 File gt New gt Project from Existing Sources 在弹出的对话框中 选择Eclipse项目的根目录 并点击 OK 在下一个对话框中 选择 Create p
  • CentOS 8 安装screen

    CentOS 8安装不上screen 以为是yum源的问题 搞了半天才发现 要在CentOS 8上安装screen 先要安装EPEL库才可以 root centoss8 yum repos d yum y install screen La
  • python3-循环与判断

    1 gt 2 False 1 lt 2 lt 3 True 42 42 True Name name False M in Magic True number 12 number is 12 True Python比较运算符 以下假设变量a
  • 【编程基础】如何自学计算机/编程

    愚者困惑 智者提问 一 编程语言 二 编程技术体系 2 1 编程基础 2 1 1 操作系统 2 1 2 数据结构 2 1 3 编译原理 2 1 4 计算机组成原理 2 1 5 算法 2 2 编程语言 2 3 编程素质 2 3 1 编程规范
  • SQL server无法启动服务

    报错 在与SQL Server建立连接时出现与网络相关的或特定于实例的错误 切换到 依赖关系 选项卡 我们可以看见它与 SQL Server MSSQLSERVER 服务存在依赖关系 4 鼠标右键单击 SQL Server MSSQLSER
  • springboot注册到consul中报错:Spring MVC found on classpath, which is incompatible with Spring Cloud

    今天在做springboot整合成springCloud并注册到consul中时 发现若注册到consule中成功 则不能启动swagger 且不能提供任何API服务 要是能提供API服务则不能注册到consule中 并报错 Spring
  • Python怎么打包exe可执行文件?教你30秒轻松完成

    兄弟们 我来了 实在是太忙了 没得时间更新 太难了 之前看很多人都在问 Python怎么打包exe可执行文件 雀氏有点多 那么我来了 给大家整一个Python打包exe可执行文件的究极教程 当然 顺便再给它换个图标 首先把你的代码准备好 尽
  • qt之QCustomPlot动态更改曲线颜色,点击曲线标题名称

    一 前言 上篇文章介绍了如何调用qt自带的颜色画板 其实目的就是想更改一些颜色 本篇博客介绍更改QCustomPlot的曲线颜色 二 环境 qt5 7 mingw windows8 sqlite3 三 正文 首先在数据库中建好表 一行多列
  • 碳排放混合预测模型(Matlab代码实现)

    个人主页 研学社的博客 欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 二氧化碳排放力争于
  • [自然语言处理入门]-NLP中的注意力机制

    本章的主要内容有 注意力机制概述 传统注意力机制 注意力编码机制 1 注意力机制概述 注意力机制简单来说就是 加权求和机制 模块 加权求和模块 神经网络中的一个组件 可以单独使用 但更多地用作为 网络中的一部分 2 传统注意力机制 2 1
  • windows基线检测

    按照Windows基线检查模板检查设置windows安全机制 windows基线检查选项及风险等级 编号 检查选项 风险等级 适用类型 1 系统已安装最新的service pack 2 系统已经安装了最新的安全补丁 本地安全策略检查选项及风
  • java控制台聊天程序

    java控制台聊天程序 发送端 package ip chat import java io BufferedReader import java io InputStreamReader import java net DatagramP
  • Python中的filter()函数

    目录 一 描述 语法 返回值 二 实例 1 过滤出列表中的所有奇数 2 过滤出1 100中平方根是整数的数 一 描述 英文文档 filter function iterable Construct an iterator from thos