检查Python字典中特定的键
有几种不同的方法可以检查一个Python字典里是否包含某个特定的键,也就是说,
d = {}
if key in d:
if d.contains(key):
if d.has_key(key):
如果一个语言允许你用几种不同的方式做同一件事,那就有点傻,除非每种方法做的事情完全不同。有人能对上面提到的三种方法进行对比吗?它们有什么不同?
4 个回答
7
方法#1是大家公认的做法。方法#2其实并不存在,至少在我知道的Python版本中是这样;我很想知道你是在哪里看到的。方法#3以前是大家认可的做法,但现在已经被淘汰了。
所以其实就只有一种方法。
12
它们其实都是一样的,之所以存在是因为历史原因。不过你应该使用 key in d
这种写法。
5
d.__contains__(key)
是用来实现 key in d
的功能的(因为 in
操作符会调用字典的 __contains__
方法)
has_key
已经不推荐使用了,它的功能和 __contains__
是一样的