我想在更新密钥值之前测试字典中是否存在密钥。我写了以下代码:
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()
重复使用,也可以defaultdict
从collections
模块中使用它,如下所示:
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中已删除 此方法。
问题内容: 如何检查字典中是否存在键?我的字典是类型的。 我不能简单地检查一下,因为这可能是由值所导致的。 有任何想法吗? 问题答案: 实际上,您的测试 可 用于检查字典中是否存在键。如果该值设置为,则不会产生: 要区分“字典中不存在键”和“键的值为零”,您可以执行嵌套的可选分配: