检查字典中是否存在某个键
我有一个字典,内容是这样的:
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