Печатать только строки, начинающиеся с данной буквы / Python - PullRequest
0 голосов
/ 05 марта 2020

печатать цитаты из списка посещенных городов в алфавитном порядке, используя .sort ()

печатать только города, названия которых начинаются с "Q" или более ранние (от a до q)

visit_cities = ["Новый Йорк "," Шанхай "," Мюнхен "," Тойко "," Дубай "," Мехико "," Сан-Паулу "," Хайдарабад "]

.sort () было легко сделать, но я не знаю, как понять вторую часть проблемы.

1 Ответ

0 голосов
/ 05 марта 2020

вы можете сделать это с помощью регулярных выражений и фильтрации, например:

import re
regex=re.compile('[A-Q]{1}.*')
cities = list(filter(lambda city: re.match(regex, city), visited_cities))
print(*cities, sep='\n')

переменная регулярного выражения ищет любой город, начиная с [AQ]

, есть даже более простое решение с использованием Unicode кодовая точка символа. посмотрите на метод ord

for city in visited_cities:
     first_character = city[0]
     if ord(first_character) >= ord('A') and ord(first_character) <= ord('Q'):
             print(city)

, кодовые точки Unicode упорядочены так, что A находится в 65, B находится в 66 ... Q находится в 81 ... Z находится в 90. поэтому, если вы хотите печатать только те города, которые начинаются с букв от A до Q, вы должны убедиться, что их код Unicode находится в диапазоне от 65 до 81

...