Python的Itertool是一个模块,提供了可在迭代器上工作以产生复杂迭代器的各种函数。该模块可作为一种快速的内存有效工具,可单独使用或组合使用以形成迭代器代数。
注意:有关更多信息,请参阅Python Itertools。
Compress()
的itertools.compress()
属于终止迭代器的类别。这意味着这些迭代器用于处理较短的输入序列,并根据所用方法的函数来产生输出。
Compress():此迭代器根据作为其他参数传递的布尔列表值有选择地从传递的容器中选择要打印的值。打印与布尔值true相对应的参数,否则将全部跳过。
在此,我们为函数提供两个参数。第一个参数将是迭代器,第二个参数将是选择器True/1
或者False/0
。如果第一个参数的对应选择器是True
,则将打印相应的数据,然后我们将得到相应的输出。
用法:
compress(iter, selector)
范例1:
# Python code to demonstrate the working of
# compress()
import itertools
import operator
Codes =['C', 'C++', 'Java', 'Python']
selectors = [False, False, False, True]
Best_Programming = itertools.compress(Codes, selectors)
for each in Best_Programming:
print(each)
输出:
Python
在上面的代码中,在“代码”列表中,我们存储了四个变量,在选择器的列表中,我们有四个布尔值。当我们使用itertools.compress()
然后将值False分配给'C',将False分配给'C++',将False分配给'Java',将True分配给'Python'。现在,在遍历循环时,我们将获得为其分配值True的输出。因此,在迭代“最佳编程”时,我们只会得到“Python”。
范例2:
# Python code to demonstrate the working of
# compress()
import itertools
import operator
example = itertools.compress('ABCDE', [1, 0, 1, 0, 0])
for each in example:
print(each)
输出:
A C
注:本文由纯净天空筛选整理自Akshaysharma11大神的英文原创作品 Python – Itertools.compress()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。