我有2个字典。一个有本地球员数据,一个用子队列出球员:
class GameData:
def __init__(self):
self.player = {'id' : 1453339642,
'positionX' : 123,
'positionY' : 0
}
self.players = {1453339642:
{'name' : "Admin"}
}
gameData = GameData()
然后我打印出来检查是否一切正常:
for x in gameData.player:
print (str(x),':',gameData.player[x])
print("\n\n")
for x in gameData.players:
print (str(x))
for y in gameData.players[x]:
print (' ',y,':',gameData.players[x][y])
print("\n\n")
这导致:
id : 1453339642
positionY : 0
positionX : 123
1453339642
name : Admin
当我现在想要在玩家中访问玩家的id时,例如
#print(str(type(gameData.player)))
#print(str(type(gameData.players)))
print(str(type(gameData.players[1453339642])))
我得到了KEYERROR。为什么呢?
答案 0 :(得分:0)
如果我把它放在一个文件中,它可以工作:
class GameData:
def __init__(self):
self.player = {'id' : 1453339642,
'positionX' : 123,
'positionY' : 0
}
self.players = {1453339642:
{'name' : "Admin"}
}
gameData = GameData()
print(str(type(gameData.players[1453339642])))
只有缩进与您的代码不同。在实例化和最终gameData
之间必须发生print
的事情。