任意の数のインスタンスを作成しています (for ループと範囲を使用)。将来のあるイベントで、インスタンスの 1 つのみの属性を変更する必要があります。これを行う最善の方法は何ですか?
現在、私は次のことを行っています:
1) リスト内のインスタンスを管理します。
2) リストを反復処理して、キー値を見つけます。
3) リスト内で適切なオブジェクトを見つけたら (つまり、キー値 = 探している値)、変更が必要な属性を変更します。
for Instance within ListofInstances:
if Instance.KeyValue == SearchValue:
Instance.AttributeToChange = 10
これは非常に効率が悪いように感じます。インスタンスの 1 つの属性を変更するだけでよいにもかかわらず、基本的にインスタンスのリスト全体を反復処理しています。
よりランダム アクセスに適した構造 (たとえば、辞書キーとして KeyValue を持つ辞書) にインスタンス参照を格納する必要がありますか?) この場合、辞書はより効率的ですか? 他のものを使用する必要がありますか?
ありがとう、
マイク