我將三個過濾器應用於單個數據結構,該數據結構依次存儲我的數據。我可以做得更整齊嗎?就像對一個封裝三個過濾器的類的單個調用或將它從一個過濾器傳遞給另一個過濾器一樣(更像是一個協同例程)。latter看起來相當可怕,所以我可以用前一個範例整齊地做到這一點嗎?將函數列表應用於單個變量
例, DATA_LIST握住我的數據
def _filter1(elem):
return elem < 0
def _filter2(element):
...
def _filter3(element):
...
list = filter(_filter1,list)
list = filter(_filter2,list)
list = filter(_filter3,list)
我想這將是把它最簡單的方法:
filters = [_filter1, _filter2, _filter3]
list = apply_filters(*filters)
謝謝。
順便說一句,你不需要在你的第一個過濾器明確地返回真或假:'回報ELEM <0'就足夠了。 – Nicolas 2013-02-11 18:45:42