python列表过滤的方法
在python中,对列表这样的数据结构进行过滤,提取自己需要的元素,组成新的列表,是很常见的操作,这就要自然而然的用到列表过滤了,而常用的过滤当然就是循环后通过if进行,但是这样子,显然就是代码的开支有些大。
python中,提供了一个列表过滤的方式来做到这样的方式 :
[ mapping-expression for element in source-list if filter-expression ]
直接来一段示例,就能很快明了:
def filterForLi(li):info = ">>>>>使用普通过滤列表<<<<<"print infoout_data = [element for element in li if not isinstance(element,int) and len(element)>5] #int类型没有长度,所以需要首先排除print out_data
# 定义一个列表
li = [1,2,3,4,5,"a","b","c","apple","banana","orange","juice"]
filterForLi(li)
代码中的:
[element for element in li if not isinstance(element,int) and len(element)>5]
这部分就是过滤了
单独拆分:
1、
element
2、
for element in li
3、
if not isinstance(element,int) and len(element)>5
这样子看,就应该是很好懂了,就是for循环中,通过if对元素内容进行过滤处理,然后返回满足条件的元素,最终组装成新的列表
返回结果如下:
另外一种会用到的过滤,就是通过lambda函数进行,其实和这段列表过滤的原理一样,只是将if判断的部分通过lambda函数进行,完整的代码如下
# -*- coding:utf-8 -*-
# 列表过滤和使用lambda函数过滤
if __name__ == "__main__":info = """>>>>>用来演示普通方式过滤列表和使用lambda函数过滤<<<<<"""print info
# 使用普通列表过滤
def filterForLi(li):info = ">>>>>使用普通过滤列表<<<<<"print infoout_data = [element for element in li if not isinstance(element,int) and len(element)>5] #int类型没有长度,所以需要首先排除print out_data
# 使用lambda函数过滤
def filterByLambda(li):info = ">>>>>使用lambda函数进行列表信息过滤<<<<<"print info# 定义一个lambda函数:int类型没有长度,所以需要首先排除g = lambda x : not isinstance(x,int) and len(x)>5out_data = [element for element in li if g(element)]print out_data
# 定义一个列表
li = [1,2,3,4,5,"a","b","c","apple","banana","orange","juice"]
# 分别调用两个函数:结果应该一样才准确
# 普通过滤
filterForLi(li)
# lambda函数过滤
filterByLambda(li)
运行结果如下:
以上这些就是常用到的一些进行列表元素过滤的方法了
python列表过滤的方法相关推荐
- python列表添加元素、输出_python公开课|Python列表添加元素的方法可是python的基础之一,如果不会怎么行呢...
[摘要]在这个科学技术高速发展的时代,越来越多的人都开始选择学习编程软件,那么首先被大家选择的编程软件就是python,也用在各行各业之中,并被大家所熟知,所以也有越来越多的python学习者关注py ...
- Python列表条件求和方法
Python列表条件求和方法 list_data=[[1.0, '配件', '522422', '铝扣板用纽扣', '金色', '', 72.0, 'PC', ''], [2.0, '配件', '50 ...
- python列表的排序方法是_Python列表排序 reverse、sort、sorted 操作方法详解
python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...
- python——列表定义及方法
1. 列表定义及格式 定义:列表是一个可修改的,元素以逗号分割,以中括号包围的有序序列.格式:变量名=[元素1,元素2,元素3,-] 2. 列表序列操作 由于列表是序列的一种,列表支持所有的我们对字符 ...
- Python列表切片及方法
本文章除特殊例子外,所有例子以此列表为准: a = [1,2,3,4,5,6,7,8,9] 序列 顺序存放值的对象 列表 用 [ ] 来创建一个列表 a = [ ] 索引值 列表的第一个索引值为0,每 ...
- python 列表过滤方法 条件表达式
1.使用filter和lambda函数 filter(fun, seq)函数对seq里的每个元素执行fun(),并返回值为true的元素放在一个iterator里 例如在一个列表里找出所有奇数可以这样 ...
- python列表的排序方法_pythonlist排序的两种方法及实例
本文主要介绍了python list排序的两种方法及实例讲解.具有很好的参考价值,下面一起来看下吧 对List进行排序,Python提供了两个方法 方法1.用List的内建函数list.sort进行排 ...
- python列表去重的方法_Python列表中去重的多种方法
怎么快速的对列表进行去重呢,去重之后原来的顺序会不会改变呢? 去重之后顺序会改变 set去重 列表去重改变原列表的顺序了l1 = [1,4,4,2,3,4,5,6,1] l2 = list(set(l ...
- python列表相加的方法:两个list [] 加法
大家好,我是Lex 喜欢欺负超人那个Lex 擅长领域:python开发.网络安全渗透.Windows域控Exchange架构 1. 利用操作符+ +操作符 对象是 list a = [1,2,3] b ...
最新文章
- java vector search_java.util.Vector.retainAll()方法实例
- centos7 安装配置openstack-dashboard (官网openstack-juno版)
- 在java中如何实现声音,我如何在Java中播放声音?
- yum安装nginx的负载均衡详解
- python连接oracle视频教程_python怎么连接oracle
- 删除副本列表中的消失项目符号
- 浅谈物联网时代智能停车发展趋势
- mysql数据库开发常见问题及优化
- python能做什么-Python到底能做什么?它的优点在哪
- git push --set-upstream
- shell基础:输入输出重定向
- Nginx 凭啥并发数可以达到 3w?
- Linux工具之htop命令
- C语言初阶:进制,计算机的美丽语言
- 为什么说串行比并行速度快?
- Dns与httpDNS的区别
- 转载:ZedGraph使用帮助
- java编译时为什么总找不到文件,javac编译时找不到文件的问题和运行项目找不到指定类问题...
- 计算机蓝屏代码0x0000007b,蓝屏代码0x0000007b的解决办法
- 运行引擎需要d3d11兼容GPU,如何解决