我正在使用' setdefault()'在我的计划中,但我不确定它实际上做了什么...... 所以我在这里询问是否有人知道?
set default
感谢
答案 0 :(得分:2)
文档是 here 。
dict.setdefault()
类似于dict.get()
的“左值”模拟,通常是“右值”(发生在赋值的右侧 - 它检索一个值,而不是改变状态的东西)。
非正式地,d.setvalue(key, value)
表示“给我d[key]
。什么,key
不在d
?好的,然后分配d[key] = value
,及时; 现在给我d[key]
。“
假设d = {'a': 17}
。然后
>>> d.setdefault('a', 0)
17
此处'a'
位于d
,因此d.setdefault('a', 0)
保持d
不变并返回d['a']
。然而,
>>> d.setdefault('b', 100)
100
由于b
不在d
,d.setdefault('b', 100)
会返回100 和设置d[b] = 100
。 d
现在有两项,a
和b
都是关键:
>>> len(d), d['a'] == 17, d['b'] == 100
(2, True, True)