Python 我+;=x>;0是什么意思?
我正在查看一段代码,我想知道这个表达式是什么意思:Python 我+;=x>;0是什么意思?,python,Python,我正在查看一段代码,我想知道这个表达式是什么意思: target += counter[s[left]] >= 0 计数器[s[左]]>=0计算为布尔值,即True或False 撇开这一点不谈,target+=val相当于target=target+val 由于bool子类int,在数学上下文中True是1,False是0 本质上,这一行(可能是在修改计数器、s或左,或它们的任意组合的循环中)计算计数器[s[左]]大于或等于0目标+=计数器[s[左]>=0 相当于 target=targ
target += counter[s[left]] >= 0
计数器[s[左]]>=0
计算为布尔值,即True
或False
撇开这一点不谈,target+=val
相当于target=target+val
由于bool
子类int
,在数学上下文中True
是1
,False
是0
本质上,这一行(可能是在修改
计数器
、s
或左
,或它们的任意组合的循环中)计算计数器[s[左]]
大于或等于0目标+=计数器[s[左]>=0
相当于
target=target+(如果计数器[s[左]]>=0,则为1,否则为0)
这是一条糟糕的蟒蛇。要求改变它。加零是愚蠢的,整个事情都令人困惑
if counter[s[left]] >= 0:
target += 1
如果条件为true,则添加1;如果为false,则添加0`target+=counter[s[left]]>=0`表示`target+=(counter[s[left]]>=0)`其中counter[s[left]]>=0
是一个布尔值,根据condition@azro如果计数器[]中不存在s[left]怎么办?提示:int(True)
为1。但是不要做奇怪的事情,每个人都会讨厌你。这是一个不遵循Python禅宗的经典案例,尤其是“可读性计数”这一行。如果你有很多这样的内容,尤其是在一行中,原始版本会更紧凑,可能更可读。If counter[s[左]]>=0:target+=1
也是一行,更紧凑、更清晰。