字典上的Python三元运算符失败

时间:2016-02-01 16:56:11

标签: python

原始代码:对于字典d1,如果d1[w]不存在,请将其初始化为1.否则增加它。

if d1.get(w) == None:
    d1[w] = 1
else:
    d1[w] += 1

然而,使用三元运算符失败了。

d1[w] = 1 if d1.get(w) == None else d1[w] += 1
                                           ^
SyntaxError: invalid syntax

这里有什么问题?

1 个答案:

答案 0 :(得分:6)

更改

d1[w] = 1 if d1.get(w) == None else d1[w] += 1

d1[w] = 1 if d1.get(w) == None else d1[w] + 1 # '+' instead of '+='

或,@vaultah建议的comment

d1[w] = d1.get(w, 0) + 1