Skip to content
Advertisement

find all strings from list which matches with given few alphabets

I am building a simple function to search through some data from the list. I am trying to search string from list matches some characters from start of string.

Like :-

my_list = ["com truise", "bill james", "bill bates", "bustin jeiber"]

def search_from_list(searched_word):
    for word in my_list:
        if searched_word == word:
            print("Matched")
            print("All words" + __full_word_that_matched__)

search_from_list("bi")

and if user calls the function with argument "bi" then I am trying to get strings which matched that string "bi" like :-

["bill james", "bill bates"]

But it is not working, I have tried many methods like :-

def search_from_list(searched_word):
    my_list = ["com truise", "bill james", "bill bates", "bustin jeiber"]

    print re.findall(r"(?=("+'|'.join(my_list)+r"))", searched_word)

searched_word("bi")

But it returned empty

then I tried

def search_from_list(searched_word):
    words = re.findall(r'w+', searched_word)
    return [word for word in words if word in my_list]

n = search_from_list("bi")

It also showed me empty list

Any help would be much Appreciated. Thank You in Advance

Advertisement

Answer

my_list = ...

def search_from_list(substring):
    return [string for string in my_list if substring in string]
User contributions licensed under: CC BY-SA
8 People found this is helpful
Advertisement