我有2個字典。一個與當地玩家的數據和一個列出玩家分字典:從python3中的子句讀取
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。爲什麼?
行'gameData = GameData()'是否正確縮進? –
是的,我只將它錯誤地複製到了stackoverflow框。正如你可以看到字典和子字典在那裏,因爲我可以打印出來。不知何故,我不能訪問一個特定的鍵? – user5526679
你的打印結果有些奇怪:'positionX'應該是'123'。我重新輸入你的代碼,它的工作原理。在實例化和最終打印之間有沒有發生'gameData'的事情? –