python 列表过滤方法 条件表达式
1.使用filter和lambda函数
filter(fun, seq)函数对seq里的每个元素执行fun(),并返回值为true的元素放在一个iterator里
例如在一个列表里找出所有奇数可以这样写:
a = [1,2,3,4,5,6,7,8]
print(list(filter(lambda x: x%2 , a)))
>>> ================================ RESTART ================================
>>>
[1, 3, 5, 7]
2.列表解析,效率比filter高,比for循环更是高两倍
[expr for iter_val in iterable]
[expr for iter_val in iterable if cond_expr]
第一种,首先迭代iterable里的所有内容,每一次迭代,都把iterable里相应的内容放到iter_val,再在表达式中应用该iter_val的内容,最后用表达式的计算值返回一个列表
第二种,则是满足条件的才执行迭代操作
上面求奇数同样可以这样写:
b = [val for val in a if val%2]
print(b)<pre name="code" class="python">>>> ================================ RESTART ================================
>>>
[1, 3, 5, 7]
if 后面可接条件表达式,不如元素长度,比如数字大小等
后记
大家如果觉得小编的代码有用,可以多多关注小编,
同时小编的公众号也开通了,大家可以关注下,后续进行粉丝回馈,大家一起学习python叭
打赏小编点这里哦
python 列表过滤方法 条件表达式相关推荐
- python关键字列表的表达式,python 列表推导和生成器表达式的使用
序列 序列是指一组数据,按存放类型分为容器序列与扁平序列,按能否被修改分为不可变序列与可变序列. 容器序列与扁平序列 容器序列存放的是对象的引用,包括list.tuple.collections.de ...
- python list map成员排序_python的map关于Python列表排序方法reverse、sort、sorted详细说明...
python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...
- Python 列表 insert() 方法
描述 Python 列表 insert() 方法将指定对象插入到列表中的指定位置. 语法 insert() 方法语法: L.insert(index,obj) 参数 index -- 对象obj需要插 ...
- Python 列表 list() 方法
描述 Python 列表 list() 方法用于将可迭代对象(字符串.列表.元祖.字典)转换为列表. 注:元组与列表是非常类似的,区别在于元组的元素值不能修改,元组是放在括号中,列表是放于方括号中. ...
- Python列表函数方法
Python列表函数&方法 Python包含以下函数: 序号 函数 1 cmp(list1, list2) 比较两个列表的元素 2 len(list) 列表元素个数 3 max(list) 返 ...
- Python 列表 min() 方法
描述 Python 列表 min() 方法返回列表元素中的最小值. 语法 min() 方法语法: min(L) 参数 L -- 要返回最小值的列表. 返回值 返回列表元素中的最小值. 实例 以下实例展 ...
- Python 列表 append() 方法
描述 Python 列表 append() 方法用于在列表末尾追加新的对象. 语法 append() 方法语法: L.append(obj) 参数 obj -- 追加到列表末尾的对象. 返回值 该方法 ...
- python列表过滤的方法
在python中,对列表这样的数据结构进行过滤,提取自己需要的元素,组成新的列表,是很常见的操作,这就要自然而然的用到列表过滤了,而常用的过滤当然就是循环后通过if进行,但是这样子,显然就是代码的开支 ...
- Python 列表推导 、生成器表达式与声明式编程
1.****列表推导********* 用到函数的一个常见的操作是将其用于列表的所有项,并使用结果创建一个新的列表.例如: # coding=utf-8 ''' ****列表推导********* 用 ...
最新文章
- 论文翻译 | Mask-SLAM:基于语义分割掩模的鲁棒特征单目SLAM
- 027-日期和时间组件
- tableau暂时不支持m1芯片!期待未来!
- ida 反编译 linux bin,使用IDA pro逆向ARM M系核心的Bin固件
- 旷厂练习生 | 小白进阶之三个月发表一篇CVPR
- UNIX网络编程笔记(7):回射程序的UDP版本
- [css] 请你解释下什么是浮动和它的工作原理是什么?同时浮动会引起什么问题?
- iPhone 13凌晨发布,电池容量较iPhone 12最高有望提升20%(文末有福利)
- 【气动学】基于matlab气动力导弹姿态控制【含Matlab源码 969期】
- mysql数据库安装时的默认端口_数据库默认端口号
- win10 软路由_「保姆级」万晓博带你用软路由搭建家庭网络中心第1节-准备工作...
- Ubuntu设置双显示器
- 2012 年美国总统候选人政治献金 数据分析(numpy+pandas)
- 无法从服务器中获取信息吗,无法从服务器获取信息
- 常见的网站攻击以及如何防御自己的网站被恶意攻击
- 林轩田机器学习基石课程个人笔记-第六讲
- 记账之后的收支明细,如何以收支图表的形式呈现
- shell判断给定日期是否是周末or月末
- java 时区 不正确_Java中的时区不匹配
- 两分钟快速理解成本函数(cost function)
热门文章
- cactiEZ中文版10.1安装(附下载地址)
- 6810. 【2020.10.05提高组模拟】路哥
- 域控制器时代:ECU 的「消亡」与汽车「中央大脑」的重建
- ORA-20000: ORU-10027
- MARKS:路由器桥接
- 【oh-my-zsh】打造强大又美观的linux终端
- angular2代理不可用_如何使任何文件在Angular中公开可用
- 风林火山 GHOST XP SP3清爽纯净版V2011_01
- c语言中生日蛋糕图片大全,生日蛋糕的句子及生日蛋糕图片大全
- 网络设备自动备份工具 Oxidized 使用体验