首页 > 解决方案 > 从列表Python中查找字符串中的单词

问题描述

你好,我尝试输出一些我会在一些字符串中找到的单词:

例如:

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"

例如

标签: pythonstringlist

解决方案


有任何,你不能。使用常规for word in car_array: 循环

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

推荐阅读