文件名称:过滤序列元素-华为云大数据中台架构分享
文件大小:5.68MB
文件格式:PDF
更新时间:2024-07-01 05:00:14
Python cookbook 中文 参考
1.16 过滤序列元素
问题
你有一个数据序列,想利用一些规则从中提取出需要的值或者是缩短序列
解决方案
最简单的过滤序列元素的方法就是使用列表推导。比如:
>>> mylist = [1, 4, -5, 10, -7, 2, 3, -1]
>>> [n for n in mylist if n > 0]
[1, 4, 10, 2, 3]
>>> [n for n in mylist if n < 0]
[-5, -7, -1]
>>>
使用列表推导的一个潜在缺陷就是如果输入非常大的时候会产生一个非常大的
结果集,占用大量内存。 如果你对内存比较敏感,那么你可以使用生成器表达
式迭代产生过滤的元素。比如:
>>> pos = (n for n in mylist if n > 0)
>>> pos