.setdefault()如何工作?

时间:2016-02-12 11:09:02

标签: python python-3.x

我正在使用' setdefault()'在我的计划中,但我不确定它实际上做了什么...... 所以我在这里询问是否有人知道?

set default

感谢

1 个答案:

答案 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不在dd.setdefault('b', 100)会返回100 设置d[b] = 100d现在有两项,ab都是关键:

>>> len(d), d['a'] == 17, d['b'] == 100
(2, True, True)