0

下面是我的代码的简短形式,因为完整的代码太长了。

想象一下有人访问您的网站,它会steamid在示例中获取您的 id *)。但是我的代码只放在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])

字典中只显示了一个 steamid 而不是全部,所以我得到:

{'STEAM_5838512', 'points:20','kill:1'} 

但我想要的是:

{'Season 1', 'STEAM_5838512', 'points:20','kill:1', 
 'Season 1', 'STEAM_83257231', 'points:20','kill:1'}
4

1 回答 1

3
data["Season 1"] = {}
data["Season 1"][steamid] = {'points':20, 'kill':1}

您将Season 1's 值设置data为空白字典,然后为该新字典分配一个 steamid。

将其更改为以下内容,它使用dict.setdefault

data.setdefault("Season 1", {})
data["Season 1"][steamid] = {'points':20, 'kill':1}

它检查是否有一个 data被调用的键Season 1,如果没有,它将值设置为data['Season 1]to {},这意味着它不会覆盖任何现有的数据Season 1

于 2013-09-22T14:58:27.763 回答