Python字典检查键是否存在

新手上路,请多包涵
@commands.command(aliases=['lookup'])
    async def define(self, message, *, arg):
        dictionary=PyDictionary()
        Define = dictionary.meaning(arg)
        length = len(arg.split())
        if length == 1:
            embed = discord.Embed(description="**Noun:** " + Define["Noun"][0] + "\n\n**Verb:** " + Define["Verb"][0], color=0x00ff00)
            embed.set_author(name = ('Defenition of the word: ' + arg),
            icon_url=message.author.avatar_url)
            await message.send(embed=embed)
        else:
            CommandError = discord.Embed(description= "A Term must be only a single word" , color=0xfc0328)
            await message.channel.send(embed=CommandError)

我想检查 NounVerb 是否在字典中 Define ,因为然后说当名词在其定义中抛出时错误,因为我正在尝试自动输出名词和动词,看看我得到了什么。我是字典的新手,非常感谢任何帮助

原文由 Dan A 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 638
2 个回答

让我们预先注意,在 python 中,“字典”是 一种数据结构。您正在使用第三方库来执行字典查找(如词汇含义)。

需要知道如何判断 Python 字典 数据结构 是否包含键。将“词典”一词的这些用法在您的脑海中分开,否则您很快就会感到困惑。在大多数 python 上下文中,人们会假设“字典”是指数据结构,而不是像 Webster 那样的词汇字典。

 from PyDictionary import PyDictionary

dictionary=PyDictionary()

meanings = dictionary.meaning("test")

if 'Noun' in meanings and 'Verb' in meanings:
    #do everything
elif 'Noun' in meanings:
    #do something
elif 'Verb' in meanings:
    #do something else

原文由 kerasbaz 发布,翻译遵循 CC BY-SA 4.0 许可协议

您可以使用以下代码测试密钥是否存在:

 if key_to_test in dict.keys():
   print("The key exists")
else:
   print("The key doesn't exist")

原文由 Raida 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题