我想在我的代码中添加一个if语句,用于检查当前密钥是否在我的字典中。我试图这样做:
if key in my_dict:
pass
但它不起作用。那么如何检查当前密钥是否在我的字典中?
感谢。
答案 0 :(得分:1)
这就是你如何诡异地做到这一点。你可能误解了pass
的作用:
pass语句什么都不做。当语法需要语句但程序不需要操作时,可以使用它。
请注意,您可能会看到my_dict.has_key(key)
之类的内容。过去常用,但不应与python 2.7及以上版本一起使用。
答案 1 :(得分:0)
pass是一个空操作 - 执行时,没有任何反应
您的方式是正确的:
>>> a
{'a': 1, 'b': 2}
>>> if 'a' in a:
... print 'hello'
...
hello
有些人可能希望以这种方式进行检查。但是不要这样做。
>>> a = {'a': 1, 'b':2}
>>> a
{'a': 1, 'b': 2}
>>> a.keys()
['a', 'b']
>>> if 'a' in a.keys():
... print 'hello'
...
hello
>>>
不要这样做!
正如Martijin指出的那样,它很慢,因为你必须首先生成列表并再次检查该元素的列表。