Я создаю произвольное количество экземпляров (используя для циклов и диапазонов).На каком-то событии в будущем мне нужно изменить атрибут только для одного экземпляра.Какой лучший способ сделать это?
Сейчас я делаю следующее:
1) Управление экземплярами в списке.
2) Итерация по списку для поиска значения ключа.
3) Как только я найду нужный объект в списке (т.е. значение ключа = значение, которое я ищу), измените любой атрибут, который мне нужно изменить.
for Instance within ListofInstances:
if Instance.KeyValue == SearchValue:
Instance.AttributeToChange = 10
Это кажется действительно неэффективным: я в основном перебираю весь список экземпляров, даже если мне нужно только изменить атрибут в одном из них.
Должен ли я хранитьссылки на экземпляры в структуре, более подходящей для произвольного доступа (например, словарь с KeyValue в качестве ключа словаря?) Является ли словарь более эффективным в этом случае?Должен ли я использовать что-то еще?
Спасибо,
Майк