rank vote url
47 435 86 477 url

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

在更新字典之前想检查键是否存在.我写了如下代码:

  1. if 'key1' in dict.keys():
  2. print "blah"
  3. else:
  4. print "boo"

我想这不是最好的方法,还有什么更好的方法?


in.

  1. d = dict()
  2. for i in xrange(100):
  3. key = i % 10
  4. if key in d:
  5. d[key] += 1
  6. else:
  7. d[key] = 1

如果你想要一个默认值,你可以用dict.get():

  1. d = dict()
  2. for i in xrange(100):
  3. key = i % 10
  4. d[key] = d.get(key, 0) + 1

如果相对所有值设置默认值可以用collections模块的defaultdict函数:

  1. from collections import defaultdict
  2. d = defaultdict(lambda: 0)
  3. for i in xrange(100):
  4. d[i % 10] += 1

但是总而言之in是最好的方法.

原文: https://taizilongxu.gitbooks.io/stackoverflow-about-python/content/47/README.html