Упростить условие if/elif
Как упростить данный код, ведь у меня таких elif еще много?
if data == "ENG_football_league":
await teams_markup(teams = ENG_football_league)
elif data == "ENG_2_football_league":
await teams_markup(teams = ENG_2_football_league)
elif data == "ESP_football_league":
await teams_markup(teams = ESP_football_league)
elif data == "ESP_2_football_league":
await teams_markup(teams = ESP_2_football_league)
...
Ответы (1 шт):
Автор решения: Haslin
→ Ссылка
Одной из возможных способов упростить данный код будет использование словаря, сопоставляющего строку в переменной data со списком команд. Например, можно создать словарь league_teams следующего вида:
league_teams = {
"ENG_football_league": ENG_football_league,
"ENG_2_football_league": ENG_2_football_league,
"ESP_football_league": ESP_football_league,
"ESP_2_football_league": ESP_2_football_league,
}
Тогда код можно будет заменить следующим образом:
teams = league_teams.get(data)
if teams is not None:
await teams_markup(teams=teams)