2024-04-26 01:09:28 发布
网友
在下面的例子中,除了x == False之外,我期望x == True:
x == False
x == True
k = 'key' d = dict() x = d.get(k, not d.setdefault(k, False)) print(d) # {'key': False} print(x) # False
为什么会这样
无论如何,我希望方法在第一次调用时返回True,否则返回False。我想实现这样一个类并不难,但我认为应该有一种内置的方式
试用了python3.6 Anaconda
在调用.get()之前对dict.get()的参数求值。因此setdefault已经发生了。怎么样:
.get()
dict.get()
setdefault
x = d.get(k) or not d.setdefault(k, True)
k = 'key' d = dict() x = d.get(k) or not d.setdefault(k, True) print(d) # {'key': False} print(x) # False
{'key': True} False
在调用
.get()
之前对dict.get()
的参数求值。因此setdefault
已经发生了。怎么样:测试代码:
结果:
相关问题 更多 >
编程相关推荐