Поиск заголовка, который начинается с 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) 

One Solution collect form web for “Поиск заголовка, который начинается с python?”

Измените свои matches :

 matches = [name for name in name_list if name.startswith(search)] 

Вы также можете внести некоторые изменения в свой код:

 # You can do this in one go search = input(str("Search: ")).lower() # Why bother looping if search string wasn't provided. if not search: print("Empty search field") else: # This can be a generator for i in (name for name in name_list if name.startswith(search)): print(i.title()) 
  • Как запустить os.walk параллельно в Python?
  • Можно ли определить с помощью NDB, если модель устойчива в хранилище данных или нет?
  • переводить url с помощью google translate из скрипта python
  • python: как конвертировать валюту в десятичную?
  • Как вы пишете счетчик файла по порядку?
  • ValueError: не удалось преобразовать строку в float
  • CodeAcademy Battleships 7/19 курс python
  • Подсчет количества уникальных слов в документе с помощью Python
  • В разнице Python в __dict__ между объектом () и классом myClass (объект)
  • Python: отправка переменной в другой скрипт
  • Как избежать символа pipe (|) для url_encode в python
  • Python - лучший язык программирования в мире.