Игра в города, что делать?

У меня вопрос, тут либо я что-то делаю не так имея верное решение проблемы, либо решение проблемы неверное(в таком случае пожалуйста дайте верное)

Пропарсил сайт со списком городов, взял список всех городов от А до Я, нужно чтобы программа рандомно выдавала город, заканчивающийся на ту букву города, который я назвал. Вот что я нашёл в интернете и подстроил под себя: if f.endswith('в'): res = list(filter(lambda x: x.startswith('В'),data_2)) переменная data_2 делает список методом split из переменной data, а f - инпут. Верно ли это решение, и что нужно принтовать? (пробовал принтовать data_2, выдавало список городов на букву А, потом на букву Б, а после вообще список городов на букву Ю)


Ответы (3 шт):

Автор решения: Legat
import random
data = ['Воркута', 'Магадан', 'Вологда']
lst = list(filter(lambda x: x.startswith('В'), data))
city = random.choice(lst)
print(city)
→ Ссылка
Автор решения: Zahar Dimidov

Мое решение для вас

from random import choice
cities = ['Пермь', 'Москва', 'Питер', 'Самара']

a = input()

r=choice([city for city in cities if city.endswith(a)])

print(r)
→ Ссылка
Автор решения: Сергей Ш
import random

lst = ["ленмнград", "дзержинск", "киров"]
q = "Ленмнград"[-1]
a = list(filter(lambda x: x[0] == q, lst))
print(random.choice(a).capitalize())
→ Ссылка