class Class():
def __init__(self, id, name):
self.id = id
self.name = name
class1 = Class(1, "Adam")
class2 = Class(2, "Bob")
class3 = Class(3, "John")
player_id = 1
if player_id == class1.id:
print class1.name
elif player_id == class2.id:
print class2.name
elif player_id == class3.id:
print class3.name
#etc
我想要做的是缩短此代码。对于我制作的每个课程,我都必须为此添加另一个块,并在一段时间后变得疯狂。我希望能够查看player_id是否与任何类相同,并且如果它们的ID匹配,则控制(查找其名称)该类的实例
答案 0 :(得分:1)
通常,当您想要O(1)查找时,您需要使用dictionary
创建映射。
id_map = {c.id: c for c in [class1, class2, class3]}
print id_map[player_id].name