python - Python 中的一行 IF 条件语法

标签 python ternary-operator

有人能告诉我为什么这在Python中不起作用吗?它只是无效语法还是还有更多内容?

arr[0] += 12 if am_or_pm == 'PM'

错误信息:

  File "solution.py", line 13
    arr[0] += 12 if am_or_pm == 'PM'
                               ^
SyntaxError: invalid syntax 

这有效:

if am_or_pm == 'PM': arr[0] += 12

最佳答案

Python 中肯定有一种用法,即 ifelse 子句位于同一行。当您需要在特定条件下为变量赋值时使用此方法。像这样

a = 1 if b == 1 else 2

这意味着如果b为1,a将为1,否则a将为2。
但是 ifelse 必须全部编写才能形成有效的语法。

关于python - Python 中的一行 IF 条件语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42733867/

相关文章:

python - Python中的警报框?

perl - 使用三元运算符赋值?

java - 这 ? (三路)运算符(operator)

javascript - 三元运算符作为简短的条件语句

javascript - foo 的三元简写?富: bar

python - 使用 mock 和 pytest 在 python 中模拟装饰器

python - HTTP/1.1 与 HTTP/1.0 Python 套接字

python - 在类体内使用非局部或全局

Python 子进程 - 将 stdout/err 重定向到两个地方

c - 条件赋值的简写方式