服务器之家

服务器之家 > 正文

Python学习小技巧之列表项的推导式与过滤操作

时间:2020-11-10 00:27     来源/作者:tinyid

本文介绍的是关于Python中列表项的推导式过滤操作的相关内容,分享出来供大家参考学习,下面来一起看看吧:

典型代码1:

?
1
2
3
4
5
data_list = [1, 2, 3, 4, 0, -1, -2, 6, 8, -9]
data_list_copy = [item for item in data_list]
 
print(data_list)
print(data_list_copy)

输出1:

?
1
2
[1, 2, 3, 4, 0, -1, -2, 6, 8, -9]
[1, 2, 3, 4, 0, -1, -2, 6, 8, -9]

典型代码2:

?
1
2
3
4
5
data_list = [1, 2, 3, 4, 0, -1, -2, 6, 8, -9]
data_list_copy = [item for item in data_list if item > 0]
 
print(data_list)
print(data_list_copy)

输出2:

?
1
2
[1, 2, 3, 4, 0, -1, -2, 6, 8, -9]
[1, 2, 3, 4, 6, 8]

应用场景

需要保持原列表不被改动,需要拷贝一份新的列表数据;只拷贝原列表中复合条件的数据项。

带来的好处

拷贝和过滤操作集中到了一行中,减少了代码的缩进级别,使代码更加紧凑,更易读

其它说明

1. 原始的数据源可以不是列表类型,也可以是元组、生成器等任何可迭代类型

2. 内置的filter函数也可以达到类似的效果

3. itertools模块中的ifilter和ifilterfalse的方法也可以达到类似的效果

4. 如果列表数据量巨大,需要慎重使用,注意内存消耗

总结

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。

原文链接:http://blog.csdn.net/cnweike/article/details/52861629

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
电视剧《琉璃》全集在线观看 琉璃美人煞1-59集免费观看地址
电视剧《琉璃》全集在线观看 琉璃美人煞1-59集免费观看地址 2020-08-12
最新idea2020注册码永久激活(激活到2100年)
最新idea2020注册码永久激活(激活到2100年) 2020-07-29
返回顶部