dict3 = {}
for _ in range(10):
dict3.setdefault("攻击",0)
dict3["攻击"] += 1
# 每次循环会进行两次哈希查询,看起来很笨
这里是一个给字典添加攻击键值的操作,
在第一次循环开始的时候,会新添加一个攻击的键,值为0
setdefault的返回值是这个键对应的值,与get方法相同,
但是当没有键的时候,会主动添加一个键进去
在设置整数default的时候可能看起来很笨,
但是用于引用数据类型的时候是很方便的。
dict3 = {}
for _ in range(10):
attack_lst = dict3.setdefault("攻击",[])
attack_lst.append(1)
# 每次循环会进行一次哈希查询,很快
如果在循环内每次都进行先检查后取值的方法,是很慢的
dict3 = {}
for _ in range(10):
if not dict3.has_key("攻击"):
dict3["攻击"] = []
dict3["攻击"].append(1)
# 每次循环会进行两次哈希查询,很慢