Хотя можно построить обобщенную функцию, которая находит животное в списке, используя a.index или тестирование с помощью «dog» на животных, вам действительно нужен здесь словарь, в противном случае функция add будет масштабироваться ужасно, так как больше животных добавлено:
animals = {'dog':set(['bite']),
'cat':set(['bite', 'scratch'])}
Затем вы можете «добавить один раз» функцию добавления, используя setdefault:
animals.setdefault('dog', set()).add('bite')
Он создаст ключ 'dog', если он не существует, и так как setdefault возвращает набор, который либо существует, либо был только что создан, вы можете добавить действие прикуса. Устанавливает, что нет дубликатов автоматически.