下面是我的代码的简短形式,因为完整的代码太长了。
想象一下有人访问了您的网站,并在样本中获得您的身份* steamid
。但我的代码只是字典中的最后一个steamid
。
def player_activate(ev)
userid = ev["userid"]
steamid = es.getplayersteamid(userid)
data = {}
data["Season 1"] = {}
data["Season 1"][steamid] = {'points':20, 'kill':1}
print(data["Season 1"][steamid])
字典中只显示一个蒸汽,而不是全部,所以我得到:
{'STEAM_5838512', 'points:20','kill:1'}
但我想要的是:
{'Season 1', 'STEAM_5838512', 'points:20','kill:1',
'Season 1', 'STEAM_83257231', 'points:20','kill:1'}
答案 0 :(得分:3)
data["Season 1"] = {}
data["Season 1"][steamid] = {'points':20, 'kill':1}
您将Season 1
中data
的值设置为空白字典,然后,您将新字典分配为steamid。
将其更改为以下内容,使用dict.setdefault
data.setdefault("Season 1", {})
data["Season 1"][steamid] = {'points':20, 'kill':1}
检查是否有data
的密钥称为Season 1
,如果没有,则会将data['Season 1]
的值设置为{}
,这意味着它不会覆盖Season 1
下的任何现有数据。