オブジェクトのリストから、特定の属性に特定の値を持つオブジェクトを見つけるための最速および/または最も簡単な(速度が望ましい)方法は何でしょうか。ループしているクラスのリストを取得しました。また、オブジェクトのリストも取得しました。オブジェクトが現在ループしているクラスのインスタンスであるかどうかを確認する必要があります。これが私がこれまで使ってきたものですが、スピードの目的でお尻が痛いです。
for cSoldier in soldierlist:
exists = False
for soldier in user.soldiers:
if cSoldier.id == soldier.id:
exists = True
break
if not exists:
user.soldiers.append(cSoldier())
soldierlist
クラススナイパー、クラスナイトなど、すべての異なる兵士クラスで保持されます。
user.soldiers
このゲームのすべてのユーザーの各兵士タイプの1つのインスタンスを保存するために使用されます
id
各兵士クラスには固有のclassidがあり、インスタンスのタイプを認識するために、そのクラスの各インスタンスにも与えられます。