尝试为discord bot生成字典的空集

2024-09-22 16:41:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图为一个不和谐机器人建立一个字典。数据结构如下所示:

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新手

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


Tags: keyindb字典value机器人it投票
1条回答
网友
1楼 · 发布于 2024-09-22 16:41:01

试试这个:

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

相关问题 更多 >