python列表中元素值进⾏⽐较_8个经典的Python列表技巧,让
你数据处理更简单!...
列表(List)是你使⽤Python过程中接触最为频繁的数据结构,也是功能最为强⼤的⼏种数据结构之⼀。Python列表⾮常的万能且蕴含着许多隐藏技巧,下⾯我们就来探索⼀些常⽤的列表技巧。
1 列表元素的过滤
1.1 filter()的使⽤
filter()函数接受2个参数:1个函数对象以及1个可迭代的对象,接下来我们定义1个函数然后对1个列表进⾏过滤。
⾸先我们创建1个列表,并且剔除掉⼩于等于3的元素:
图1
回顾⼀下发⽣了什么:
我们定义了列表original_list接着我们定义了⼀个接受数值型参数number的函数filter_three,当传⼊的参数值⼤于3时会返回True,反之则会返回False我们定义了filter对象filtered,其中filter()接受的第⼀个参数是函数对象,第⼆个参数是列表对象最终我们将filter对象转化为列表,最终得到经filter_three过滤后original_list内留下的元素。对于新⼿⼩⽩想更轻松的学好Python开发,Python爬⾍,数据分析,⼈⼯智能等技术,这⾥给⼤家分享⼀套系统教学资源,加⼀下我V:itz992 【教程/⼯具/⽅法/解疑】
1.2 使⽤列表推导式
类似的,我们也可以利⽤列表推导式来过滤列表元素,作为⼀种⽣成和修改列表优雅的⽅式,列表推导式想必⼤家都⽐较熟悉了,下⾯是使⽤列表推导完成同样任务的过程:
图2
2 修改列表
2.1 map()的使⽤
Python中内置的map()函数使得我们可以将某个函数应⽤到可迭代对象内每⼀个元素之上。
⽐⽅说我们想获取到⼀个列表对象中每⼀个元素的平⽅,就可以使⽤到map()函数,就像下⾯的例⼦⼀样:
图3
类似filter()的⼯作过程,下⾯我们来看看发⽣了什么:
⾸先我们定义了列表original_list,以及接受数值型参数并返回其平⽅值的函数square()接着我们定义了map对象squares,类似filter(),map()接受的第⼀个参数是函数对象,第⼆个参数是列表对象最终我们将map对象squares列表化,就得到了想要的结果
2.2 使⽤列表推导式
同样的我们也可以使⽤列表推导式完成同样的任务:
图4
3 利⽤zip()来组合列表
有些情况下我们需要将两个或以上数量的列表组合在⼀起,这类需求使⽤zip()来完成⾮常⽅便。
zip()函数接收多个列表作为参数传⼊,进⽽得到每个位置上⼀⼀对应的元素组合,就像下⾯的例⼦⼀样:
图5
4 颠倒列表
Python中的列表是有序的数据结构,正因如此,列表中元素的顺序很重要,有些时候我们需要翻转列表中所有元素的顺序,可以通过Python中的切⽚操作,⽤::-1来快捷地实现:
图6
5 检查列表中元素的存在情况
有些情况下我们想要检查列表中是否存在某个元素,这种时候就可以使⽤到Python中的in运算符,譬如说我们有⼀个记录了所有⽐赛获胜队伍名称的列表,当我们想查询某个队名是否已获胜时,可以像下⾯的例⼦⼀样:
图7
6 出列表中出现次数最多的元素
有些情况下我们想要出列表中出现次数最多的元素,譬如对记录若⼲次抛硬币结果的列表,出哪⼀种结果出现次数最多,就可以参考下⾯的例⼦:
图8
7 展平嵌套列表
有些情况下我们会遇到⼀些嵌套的列表,其每个元素⼜是各⾃不同的列表,这种时候我们就可以利⽤列表推导式来把这种嵌套列表展平,如下⾯2层嵌套的例⼦:
图9
额外补充:
原作者这⾥只考虑到两层嵌套的列表,如果是更多层嵌套,就需要有多少层写多少for循环,⽐较⿇烦,
其实还有⼀种更好的⽅法,我们可以使⽤pip install dm-tree来安装tree这个专门⽤于展平嵌套结构的库,可以展平任意层嵌套列表,使⽤例⼦如下:
图10
python 爬虫教学8 检查唯⼀性
如果你想要查看列表中的值是否都是唯⼀值,可以使⽤Python中的set数据结构的特点,譬如下⾯的例⼦:对于新⼿⼩⽩想更轻松的学好Python开发,Python爬⾍,数据分析,⼈⼯智能等技术,这⾥给⼤家分享⼀套系统教学资源,加⼀下我V:itz992 【教程/⼯具/⽅法/解
疑】
图11
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论