所以我有P = dict()
。我有以下代码:
def someFunction():
P['key'] += 1
'''do other task'''
检查P['key']
是否已定义的最简单方法是什么?
我查了How do I check if a variable exists?,但我不确定这是否能回答我的问题。
答案 0 :(得分:3)
检查普通字典的两种主要方法:
在你跳跃之前看看"范例。当然,除非您想要定义一些替代行为,否则不需要else语句:
if 'key' in P:
P['key'] += 1
else:
pass
更容易要求宽恕而不是许可"范例
try:
P['key'] += 1
except KeyError:
pass # Or do something else
或者您可以按照建议使用defaultdict
。
答案 1 :(得分:1)
您应该使用集合模块中的defaultdict
。
from collections import defaultdict
d = defaultdict(int)
d[0] = 5
d[1] = 10
for i in range(3):
d[i] += 1
# Note that d[2] was not set before the loop
for k, v in d.items():
print('%i: %i' % (k,v))
打印:
brunsgaard@archbook /tmp> python test.py
0: 6
1: 11
2: 1
答案 2 :(得分:0)
通常我会用
检查关键状态if some_key in some_dict:
print("do something")
高级用法:如果您有字典,则键为字符串,值为列表。当密钥存在时,您希望将一个元素添加到密钥关联值列表中。所以你可以
some_dict[some_key] = some_dict.get(some_key, []) + [new_item];