Ищете заголовок, который начинается с python?

Итак, у меня есть список имен

name_list = ["John Smith", "John Wrinkle", "John Wayne", "David John", "David Wrinkle", "David Wayne"]

Я хочу иметь возможность искать, например,John а также

John Smith
John Wrinkle
John Wayne

будет отображаться. На данный момент мой код будет отображаться

John Smith
John Wrinkle
John Wayne
David John

Что я делаю неправильно?

Вот мой код

search = input(str("Search: "))
search = search.lower()
matches = [name for name in name_list if search in name]
for i in matches:
    if(search == ""):
        print("Empty search field")
        break
    else:
        i = i.title()
        print(i)