簡體   English   中英

比較Python中兩個列表的項目

[英]Comparing the items of two lists in Python

我閱讀了許多有關相關問題的問題,但沒有一個回答我的問題。 我有兩個清單:

List A = ['nike', 'adidas', 'reebok']

List B = ['sneakers', 'sneaker shoes', 'adidas shoes', 'nike', 'any shoe', 'all nikes', 'a nike shoe']

現在,我想看看列表A的項目是否存在於B的某處,以便返回:

List result: [False, False, True, True, False, True, True]

True表示列表B中與A項匹配的實例。 到目前為止,我已經使用了這段效率極低的代碼。

for j in range(len(lista)):
    for k in b:
    if j in k: 
        lista[j] = 'DELETE'

cuent = lista.count('DELETE')

for i in range(cuent):
    lista.remove('DELETE')

在此先感謝,如果確實有答案,對不起-一個小時后,我失去了在stackoverflow-universe中找到它的所有希望:)

編輯:對不起,我自己說不清楚-我不是在尋找完全匹配的內容,我正在尋找詞組匹配的內容。 再次抱歉!

也許

keywords = ['nike', 'adidas', 'reebok']
items = ['sneakers', 'sneaker shoes', 'adidas shoes', 'nike', 'any shoe', 'all nikes', 'a nike shoe']
bits = [any(keyword in item for keyword in keywords) for item in items]

或更好

import re
regex = re.compile(r'%s' % '|'.join(keywords))
bits = [bool(regex.search(x)) for x in items]

據我了解,您想忽略單詞邊界(例如,“ nike”匹配“ all nikes”),僅搜索完整單詞,將上述表達式更改為r'\\b(%s)\\b'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM