从对象列表中找到在特定属性上具有特定值的对象的最快和/或最简单(速度首选)的方法是什么。我得到了一个正在循环的类列表,我还得到了一个对象列表,我需要查看该对象是否是当前正在循环的类的实例。到目前为止,这是我一直在使用的东西,但出于速度目的,这让我很头疼。
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
用于为该游戏的每个用户存储每种士兵类型的一个实例
id
每个士兵类都有其唯一的 classid,并且它也被赋予该类的每个实例,以识别实例的类型