2015-12-08 54 views
1

我試圖找到這樣的事情發生的例子。但我還沒有真正發現是否有可能。從閱讀列表文檔我可以通過執行以下_FILTER [0:48]遍歷列表。是否有可能通過一個列表if if條件切片

有沒有辦法像下面這樣做一個聲明?

_FILTER = ['filter','filter2','etc'] 

for link in links: 
    if link != _FILTER[0:48] 
     do_something 

我想_Filter [0:48]被視爲和,我的意思是我需要所有的_Filter選項。 例如

if link != _FILTER[0] and if link != _FILTER[1]..._FILTER[48] 
+4

@limelights我認爲他需要'如果鏈接不在_FILTER [0:48]'中。 – Maciek

+1

有超過48個,還是隻有一個大數字才能確保一切?因爲乾脆就這樣做:如果在_FILTER中沒有鏈接,那麼在後面的 – gkusner

+0

@Maciek當然會有效 - 只是一個小姐,對不起! –

回答

2

這是一般的情況:

_FILTER = ['filter','filter2','etc'] 

for link in links: 
    if link not in _FILTER: 
     do_something 
-1

這取決於什麼「鏈接」,在這種情況下...

如果是鏈接列表的迭代和你正在尋找查看這些列表中的一個是否與您的分片匹配。對的,這是可能的。 例如:

filter_list = ['1', '2', '3', '4', '5'] 
link_list = [['2', '3', '4'], ['1', '2'] ['3', '4', '5']] 

for link in link_list: 
    if link != filter_list[0:2]: 
     print('no match, do stuff') 

這將「做的東西」的「link_list」的第一個和最後一個索引,但list_list[1]不等於filter_list片並不會「做的東西」。

如果你只是想做的東西,如果鏈接索引不在filter_list我會使用'不在'關鍵字來代替。

+0

這不是OP的用例。列表事物列表從哪裏來?它也不是很清楚,即使你有這樣一個子列表,它會是可取的,因爲'['1','2']'會匹配,但'['2','1']'不會(意味着它順序依賴)。 – tdelaney

+0

@tdelaney;我試圖說明一種方法來完成我解釋OP正在嘗試做的事情。似乎我錯誤地將一般性討論轉向「不在」關鍵詞,而不是用「鏈接」來搜索片的平等, –

相關問題