как оптимиизовать ассоциации с командами?

Рейтинг: 1Ответов: 1Опубликовано: 13.04.2023

Есть такой код:

play_commands= ['включи','запусти','вруби','сыграй']
search_commands = ['найди','найди в гугл','найди в гугле','загугли','найди в интернете','найти в интернете']


    for key in play_commands:
        if command.startswith(key):
            command=command[len(key)+1:]
            play(command)
            return
    for key in search_commands:
        if command.startswith(key):
            command=command[len(key)+1:]
            search(command)
            return

в будущем будет появляться больше новых команд и асоциаций к ним. Как это всё оптимизировать чтобы свести появление новых commands и чтобы не повторялся циклы примерно как:

  for key in play_commands:

Ответы

▲ 1Принят

Для решения этой проблемы можно использовать словарь, в котором по названию команды будет храниться список ассоциаций.

commands_blocks = {
    'play_commands': [
        'включи',
        'запусти',
        'вруби',
        'сыграй',
    ],
    'search_commands': [
        'найди',
        'найди в гугл',
        'найди в гугле',
        'загугли',
        'найди в интернете',
        'найти в интернете',
    ]
}

for command_name, key in commands_blocks.items():
    ...