【发布时间】:2020-04-29 01:53:02
【问题描述】:
问题在标题中。 我有一个键的字典,每个键值为 True 或 False 我有一个项目清单。 我想遍历 dict,并检查 if (key in list) == (or is) dict[key]
这意味着我想看看我将从“in”调用中获得的返回值与字典中的值是否匹配,
例如:
quick_dict = dict()
quick_list = list()
quick_dict['hi'] = True
quick_dict["hello"] = True
quick_dict["bye"] = False
quick_dict["bi"] = False
quick_dict['zi'] = True
quick_dict["zv"] = True
quick_list.append("hi")
quick_list.append("bye")
for key in quick_dict:
if (key in quick_list) == quick_dict[key]:
print(key)
在这种情况下我应该使用哪一个?总的来说,这种情况有什么不同?
【问题讨论】:
-
这能回答你的问题吗? Boolean identity == True vs is True
-
不是真的,在这种情况下,他检查他从 foo() 获得的返回值并检查它是真还是假,在我的情况下,我想比较 2 个值
-
@elii236
(key in quick_list)评估为布尔值:因此它是bool is/== bool或bool is/== non_bool。链接的问题解释了==和is运算符之间的区别。无论如何,我会使用==来显示语义价值平等意图。 -
这能回答你的问题吗? Understanding Python's "is" operator
标签: python