- 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序列中所需要的值
网友评论