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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。