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

Python 尝试为discord bot生成字典的空集,python,discord.py,associative-array,repl.it,Python,Discord.py,Associative Array,Repl.it,我正试图为一个不和谐机器人建立一个字典。数据结构如下所示: poll = { 'LINK' : {'MoonRaccoon' : 1, 'TheDirtyTree' : 1}, 'ZRX' : {'MoonRaccoon' : 1, 'Dontcallmeskaface' : 1, 'TheDirtyTree' : 1}, 'XRP' : {'Dontcallmeskaface' : 1}, 'XLM' : {'aeon' : 1, 'Bob' : 1} } 然后将其保存

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

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”]。 我猜这只是一本持久的字典?(但我认为这与我面临的问题无关)

用户将以类似的方式输入他们的投票

!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

因此,您需要一个带有?Repl的持久字典。它提供了带有
db
变量的持久字典。。我只是想知道如何使用它。当我加载上面的测试数据集时,它似乎工作得很好。。当我试着一个一个地添加项目时,没有那么多。只有一个问题。你为什么不把一个普通的dict放在一个文件中保存下来呢?顺便说一句,一旦我知道如何一个一个地添加条目,我也希望能够一个一个地删除它们。基本上从股票代码字典中删除用户名,直到其中有0个条目为止,在这种情况下,股票代码键将被删除。这是我第一次尝试构建一个discord机器人,我真的不太了解它。。找到了一个关于在Repl上构建bot的教程,它试图使用他们首先提供的工具。如果我最终在其他地方运行这个机器人,我想我需要另一个解决方案。它与上面的测试数据结构配合得很好,所以我的问题似乎是如何处理该数据结构。。投票中的(键、值)看起来确实很有希望。items():NameError:未定义名称“投票”`