我一直在嘗試在Python 2.7中使用兩個列表。我已經走了一段路,但花時間搜尋並沒有帶來太多的結果。與Python的逆向匹配
List1
:是我在List2中搜索的特定數字序列的列表。 (例如)['209583', '185372', '684392', '995423']
List2
:在list1中有這些數字的變化。 (例如)['209583_345829', '57185372', '853921864']
現在我可以匹配和拉下我在下面找到的東西......但我也在尋找反過來;將一個變量設置爲List1
中不在List2
中的所有數字。
matching = [s for s in list2 if any(xs in s for xs in list1)]
那麼應該留在一個不匹配的變量應該是'995423'
。我已經嘗試過重新編寫上面的代碼,但我覺得它正好在我的鼻子下面。
此外,出於性能原因使用If/Else語句會不會有好處?例如。如果匹配做到這一點,否則不匹配做到這一點......這種方式只能運行一次,而不是兩次。
這是一個簡單的例子,但是兩者的列表可能會超過10,000行。
謝謝!書面
所以...只是扭轉的條件,我猜? 'non_matching = [s for s in list1 if any any(xs in s for xs in list2)]'(< - if ** not ** any) – yedpodtrzitko
我已經試過了。這將從list1返回那些沒有從list2引用的列表。我正在尋找那些list1中沒有任何引用的列表1。 – sdavis891
由於事實上1中的數字序列可以位於2的數字中的任何一個事實,所以這相反更爲複雜。問題:列表1中的數字是否可靠地保留六位數字? – BHustus