Найти слово в строке из списка Python - PullRequest
0 голосов
/ 14 апреля 2020

Здравствуйте, я пытаюсь вывести какое-нибудь слово, которое я найду в некоторой строке:

exaple:

string="Lampa tylna lewa + prawa AUDI A-6 '04-'08"

def brand (string):
    car_array = ['Audi', 'Bmw', 'Chevrolet', 'Citroen', 'Dacia', 'Daihatsu', 'Dodge', 'Fiat', 'Ford', 'Honda',
                 'Hyundai', 'Isuzu', 'Iveco', 'Jeep', 'Kia', 'Land', 'Mazda', 'Mercedes', 'Mitsubishi', 'Nissan',
                 'Opel', 'Peugeot', 'Porsche', 'Renault', 'Seat', 'Skoda', 'SsangYong', 'Subaru', 'Suzuki', 'Toyota',
                 'Volkswagen', 'Volvo', "Vw", "Citroën", "Tesla", "Jaguar", "Mini", "Saab", "Lexus", "Infiniti", "Maserati",
                 'Chrysler', 'Alfa', 'Aston']

    if any(word.upper() in string for word in car_array):
        marka="found"
        return marka

Его работа, но как я могу вернуть это найденное слово?

Как

"AUDI"

для примера

Ответы [ 2 ]

3 голосов
/ 14 апреля 2020

С любым вы не можете. Используя обычный for word in car_array: l oop

def brand(string):
    car_array = ['Audi', 'Bmw', 'Chevrolet', 'Citroen', 'Dacia', 'Daihatsu', 'Dodge', 'Fiat', 'Ford', 'Honda',
                 'Hyundai', 'Isuzu', 'Iveco', 'Jeep', 'Kia', 'Land', 'Mazda', 'Mercedes', 'Mitsubishi', 'Nissan',
                 'Opel', 'Peugeot', 'Porsche', 'Renault', 'Seat', 'Skoda', 'SsangYong', 'Subaru', 'Suzuki', 'Toyota',
                 'Volkswagen', 'Volvo', "Vw", "Citroën", "Tesla", "Jaguar", "Mini", "Saab", "Lexus", "Infiniti",
                 "Maserati",
                 'Chrysler', 'Alfa', 'Aston']
    for word in car_array:
        if word.lower() in string.lower():
            found_word_index = string.lower().find(word.lower())
            return string[found_word_index:found_word_index+len(word)]

string = "Lampa tylna lewa + prawa AUDI A-6 '04-'08"
print(brand(string))

выход:

AUDI
0 голосов
/ 14 апреля 2020

изменить бренд, чтобы получить список отфильтрованных слов:

def brand (string):
    car_array = ['Audi', 'Bmw', 'Chevrolet', 'Citroen', 'Dacia', 'Daihatsu', 'Dodge', 'Fiat', 'Ford', 'Honda',
                 'Hyundai', 'Isuzu', 'Iveco', 'Jeep', 'Kia', 'Land', 'Mazda', 'Mercedes', 'Mitsubishi', 'Nissan',
                 'Opel', 'Peugeot', 'Porsche', 'Renault', 'Seat', 'Skoda', 'SsangYong', 'Subaru', 'Suzuki', 'Toyota',
                 'Volkswagen', 'Volvo', "Vw", "Citroën", "Tesla", "Jaguar", "Mini", "Saab", "Lexus", "Infiniti", "Maserati",
                 'Chrysler', 'Alfa', 'Aston']

    found = list(filter(lambda word: word.upper() in string, car_array))

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