itertools类中compress分析

  • python3中itertools.compress()筛选工具,它接受一个可迭代对象以及一个布尔选择序列作为输入,输出时会将所有布尔序列中为True的可迭代对象输出。
  • 如果想把对一个序列的筛选结果施加到另一个相关的序列上时,会非常有用
  • 实验例子如下
address = [
     '5001 N Clark',
     '5002 N Clark', 
     '5003 E 58TH', 
     '5004 N RAVENSWOOD', 
     '5005 w ADDISON'
]
counts = [0,3,10,4,1]
from itertools import compress
more5 = [n>5 for n in counts]
>>> more5
[False, False, True, False, False]
>>> list(compress(address,more5))
['5003 E 58TH']

  • more5布尔序列作为条件,通过compress筛选器晒出address序列中所需要的值
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容