如何删除 repl 数据库中的单个特定值?

how to delete a single specific value within a repl database?

我正在使用 repl 的数据库功能创建一个 discord python 机器人,我不知道如何从数据库中只删除一个值。

@client.command()
async def addvalue(ctx, arg):
 db[str(ctx.author.id)] = [arg]
 await ctx.send("value added")

@client.command()
async def removevalue(ctx, arg):
 db[str(ctx.author.id)] = db[str(ctx.author.id)] - arg #ik this is a dumb way of trying this, this is just theory obv this wouldnt work

我以前从未使用过它,但从 example code 来看,您似乎可以使用:

del db[str(ctx.author.id)][index]

the docs 开始,它只是一个 key/value 商店,所以它看起来与任何 dict.

商店一样

我要做的是找到我要删除的值的索引:

async def removevalue(ctx, arg):
  c = 0
  for x in db[str(ctx.author.id)]:
    if str(arg) in db[str(ctx.author.id)][c]:
      del db[str(ctx.author.id)][c]
      await ctx.send("Value deleted")
    return
    else:
      c += 1

请注意,我将 str() 放在 arg 周围,但我很确定那没有用。我只是想方设法修复它。