首先你只有一本字典,一切都很好
def getNPCName(self,ID):
return self.npcs[ID].name
然后,得到另一本字典,代码变成了这个
def getNPCName(self,ID):
for x in (self.npcs,self.deadnpcs):
if ID in x:
return x[ID].name
return ''
我认为这不是一个好习惯。
应该有一些字典已经存在,它们结合了几个字典,并没有真正合并它们,但就像一些api的字典一样。
self.allnpclist = some_kind_of_dictionary(self.alive,self.dead)
我的代码应该是这个
def getNPCName(self,ID):
return self.allnpclist[ID].name
我想我不应该自己写
答案 0 :(得分:0)
我能想到的一般解决方案:
npcs={...}
deadnpcs={...}
undeadnpcs={...}
npc_dicts={'npcs':npcs,'deadnpcs':deadnpcs,...}
def getNPCName(ID):
for one in npc_dicts:
choosen_one=getattr(npc_dicts[one],ID,None)
if choosen_one:
return choosen_one.name