检查字典中是否存在某个键

0 投票
2 回答
1565 浏览
提问于 2025-04-17 14:55

我有一个字典,内容是这样的:

odict([(1, {'media_one': '000121'}), (2, {'media_two': '201984'}), (3, {'media_three': '301984'})])

我想检查一下这个字典里是否有键名是 media_two、media_one 或者 media_three 的项。如果有的话就执行某个操作,如果没有的话就不做任何事情。我们该怎么检查呢?

2 个回答

0

这段代码使用了一个叫做“lambda”的小功能,它的作用是快速定义一个简单的函数。这里的代码是对一个叫做“odict”的字典进行操作。

具体来说,这段代码会检查字典中每一个值(也就是字典里的内容),看看里面是否包含“media_one”这个词。如果包含,就返回“True”,如果不包含,就返回“False”。

最后,输出的结果是一个列表,里面的每个“True”或“False”对应字典中每个值的检查结果。在这个例子中,输出是 [True, False, False],这意味着字典中的第一个值包含“media_one”,而后面的两个值则不包含。

2
>>> odict = OrderedDict([(1, {'media_one': '000121'}), (2, {'media_two': '201984'}), (3, {'media_three': '301984'})])
>>> any("media_one" in item for item in odict.values())
True

这段代码是用来检查某个键是否存在的。如果你想检查所有的键是否都存在,可以使用下面的代码:

>>> all(any(key in item for item in odict.values()) 
...                     for key in ("media_one", "media_two", "media_three"))
True

撰写回答