【发布时间】:2021-04-14 02:19:19
【问题描述】:
我写了这段代码,但是因为SyntaxError所以它不起作用。
def char_freq(message):
d = dict()
for ch in message:
d[ch] += 1 if ch in d else d[ch] = 1
return d ^ SyntaxError: End of statement expected
我不知道如何重写表达式以将 if-else 保留在一行中并使其正常工作。
我知道可以将函数实现为一个简单的 for 循环,但我不明白,为什么我的 if-else 单行代码会导致 SyntaxError?
【问题讨论】:
-
d[ch] = (d[ch] + 1) if ch in d else 1. 你应该试试这个。
-
谢谢,它有效。但我不明白为什么我的问题中的符号不起作用。
-
语法类似于 -> a =
if else
标签: python dictionary if-statement syntax conditional-operator