原始代码:对于字典d1,如果d1[w]不存在,则将其初始化为1.否则增加它.
if d1.get(w) == None:
d1[w] = 1
else:
d1[w] += 1
Run Code Online (Sandbox Code Playgroud)
但是,使用三元运算符会导致失败.
d1[w] = 1 if d1.get(w) == None else d1[w] += 1
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
这是什么问题?
更改
d1[w] = 1 if d1.get(w) == None else d1[w] += 1
Run Code Online (Sandbox Code Playgroud)
至
d1[w] = 1 if d1.get(w) == None else d1[w] + 1 # '+' instead of '+='
Run Code Online (Sandbox Code Playgroud)
d1[w] = d1.get(w, 0) + 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
257 次 |
| 最近记录: |