Нахождение слова / элемента в списке и возврат соответствующего значения - PullRequest
0 голосов
/ 26 февраля 2019

Я борюсь со следующей проблемой.У меня есть два списка: wordList и myLIST

Цель состоит в том, чтобы проверить, есть ли какие-либо элементы в wordList также в myList.Затем должно быть возвращено соответствующее значение.

Сценарий выглядит следующим образом:

import re

myList = ['volkswagen-ag','audi-ag','lamborghini-ag']  
wordList = ['volkswagen','audi','lamborghini'] 


def findWholeWord(w):
    return re.compile(r'\b({0})\b'.format(w), flags=re.IGNORECASE).search

    for x in myList:
        b = findWholeWord(y)(x)
        print(b)

Он дает такой результат:

<re.Match object; span=(0, 10), match='volkswagen'>
None
None
None
<re.Match object; span=(0, 4), match='audi'>
None
None
None
<re.Match object; span=(0, 11), match='lamborghini'>

Как получить значениесоответствующее поле в myLIST (Например: "Volkswagen" должно возвращать "volkswagen-ag"? У меня есть только решение из другой записи блога.

Я хочу создать новый список с соответствующим значением.

1 Ответ

0 голосов
/ 26 февраля 2019

Вы включаете границы слов, но не включаете символы после слова поиска.Вы должны обновить свое регулярное выражение до r'\b({0}[^\s]+)\b'.Это будет тянуть любые непробельные символы после ваших поисковых слов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...