尝试为不和谐机器人构建字典的空集

Empty set trying to build dictionary for discord bot

我正在尝试为 discord 机器人创建字典。数据结构如下所示:

poll = {
  'LINK' : {'MoonRaccoon' : 1, 'TheDirtyTree' : 1},
  'ZRX' : {'MoonRaccoon' : 1, 'Dontcallmeskaface' : 1, 'TheDirtyTree' : 1},  
  'XRP' : {'Dontcallmeskaface' : 1},
  'XLM' : {'aeon' : 1, 'Bob' : 1} 
}

这将被保存到 Repl.it 数据库中的 db["poll"]。 https://docs.repl.it/misc/database 我猜这只是一本持久性字典? (我认为这与我遇到的问题无关)

用户会像

一样投票

!v ZRX

然后机器人需要将该“投票”添加到字典中。

我尝试使用的代码是这样的:

更新:

def update_poll(ticker,requestor):
  vote = {ticker : {requestor : 1}}

for (key, value) in vote.items():
    if 'poll' not in db.keys():
        db['poll'] = []
    if key in db['poll'].keys():
        db['poll'][key].append(value)
    else:
        db['poll'][key] = value

虽然进展不顺利.. 之前有人建议使用 defaultdict 但老实说我还没有完全理解它。 python这里是新手..

如有任何建议,我们将不胜感激。

试试这个:

ticker = 'a'; requestor = 'b'
vote = {ticker : {requestor : 1}}
db = {}
for (key, value) in vote.items():
    if 'poll' not in db.keys():
        db['poll'] = {}
    if key in db['poll'].keys():
        db['poll'][key].append(value)
    else:
        db['poll'][key] = value