檢查任何價值的存在,我的名單像如何在列表中的蟒蛇
l = ['dd','rr','abcde']
l2 = ['ddf','fdfd','123']
我想要一個功能,如果任何來自l
價值的l2
存在哪些返回true。
現在可以進行部分匹配了。我的意思是該字符串應該給出l2
編輯:
輸出應該是在我的例子虛假
像真應該因爲dd
與ddf
檢查任何價值的存在,我的名單像如何在列表中的蟒蛇
l = ['dd','rr','abcde']
l2 = ['ddf','fdfd','123']
我想要一個功能,如果任何來自l
價值的l2
存在哪些返回true。
現在可以進行部分匹配了。我的意思是該字符串應該給出l2
編輯:
輸出應該是在我的例子虛假
像真應該因爲dd
與ddf
這將返回匹配返回true True
如果來自l
的任何值是l2
中的任何值的子字符串:
any(l_value in l2_value for l_value in l for l2_value in l2)
最後一句我的意思是你的函數應該給出真正的輸出,因爲'dd'在l1中與'ddf'匹配 – user2294401 2013-04-22 12:09:12
然後我的第二個例子就可以工作了。 – 2013-04-22 12:10:25
def match():
for e in l:
for e2 in l2:
if e in e2:
return True
else:
return False
這將包括部分匹配。
UPDATE: 使用列表理解:
[re.search(x,",".join(l2)) for x in l if re.search(x,",".join(l2)) is not None] and 'True' or 'False'
平行四邊形! – jamylak 2013-04-22 12:22:47
什麼是您例如預期的輸出?另外,你到目前爲止嘗試過什麼? – cyroxx 2013-04-22 12:05:39
這已經在這裏回答http://stackoverflow.com/questions/1388818/how-can-i-compare-two-lists-in-python-and-return-matches,是一個很好的解決方案 – user2307241 2013-04-22 12:07:48
@cyroxx輸出應該是真的或假的 – user2294401 2013-04-22 12:10:06