当前位置: 首页 > 面试题库 >

检查字典中是否已存在给定键

东郭昌胤
2023-03-14
问题内容

我想在更新密钥值之前测试字典中是否存在密钥。我写了以下代码:

if 'key1' in dict.keys():
  print "blah"
else:
  print "boo"

我认为这不是完成此任务的最佳方法。有没有更好的方法来测试字典中的键?


问题答案:

in是测试密钥是否存在的预期方法dict

d = {"key1": 10, "key2": 23}

if "key1" in d:
    print("this will execute")

if "nonexistent key" in d:
    print("this will not")

如果你想使用默认值,可以随时使用dict.get():

d = dict()

for i in range(100):
    key = i % 10
    d[key] = d.get(key, 0) + 1

如果你想始终确保任何键的默认值,则可以dict.setdefault()重复使用,也可以defaultdictcollections模块中使用它,如下所示:

from collections import defaultdict

d = defaultdict(int)

for i in range(100):
    d[i % 10] += 1

但总的来说,in关键字是最好的方法。



 类似资料:
  • 问题内容: 给定字典,我如何找出该字典中的给定键是否已设置为非值? 即,我想这样做: 即,如果要在其中增加一个值,我想增加该值,否则将其设置为1。 问题答案: 您正在寻找(适用于Python 2.5+)。这个 会做你想要的。 对于常规Python来说,如果给定键没有值,则访问dict时 不会 获得结果-将引发a。因此,如果您想使用Regular而不是代码,则可以使用

  • 问题内容: 我有一个Python字典列表,如下所示: 我想检查列表中是否已存在具有特定键/值的字典,如下所示: 问题答案: 这是一种实现方法: 括号中的部分是一个生成器表达式,该表达式将为每个具有要查找的键值对的字典返回,否则为。 如果密钥也可能丢失,则上面的代码可以给您一个。您可以通过使用并提供默认值来解决此问题。如果不提供 默认 值,则返回。

  • 问题内容: 比方说,我有一个关联数组,像这样:。 如何检查字典中是否存在? 问题答案: if key in array: # do something 关联数组在Python中称为字典,您可以在stdtypes文档中了解有关它们的更多信息。

  • rank ▲ ✰ vote url 47 435 86 477 url 检查一个键在字典中是否存在 在更新字典之前想检查键是否存在.我写了如下代码: if 'key1' in dict.keys(): print "blah" else: print "boo" 我想这不是最好的方法,还有什么更好的方法? 用in. d = dict() for i in xrange(100):

  • 问题内容: 我有一个Python字典,例如: 我想检查一个键是否在字典中。我很想知道以下两种情况中哪一种更为可取,为什么? 问题答案: if ‘name’ in mydict: 是首选的pythonic版本。不鼓励使用,并且在Python 3中已删除 此方法。

  • 问题内容: 如何检查字典中是否存在键?我的字典是类型的。 我不能简单地检查一下,因为这可能是由值所导致的。 有任何想法吗? 问题答案: 实际上,您的测试 可 用于检查字典中是否存在键。如果该值设置为,则不会产生: 要区分“字典中不存在键”和“键的值为零”,您可以执行嵌套的可选分配: