【发布时间】:2018-03-19 11:55:17
【问题描述】:
我正在尝试在我的 for 循环中根据测试添加到不同的变量:
for i in range(alist.__len__()):
if alist[i] is not blist[i]:
ascore +=1 if alist[i] > blist[i] else bscore+=1
print(ascore,bscore)
此代码不起作用。我所理解的情况是 if 条件不适用于整个赋值(我们增加 ascore if 条件),而是适用于我的值 1(我们将 ascore 增加 1 if 条件)。我更喜欢与第一个类似的功能。有什么我可以在这里做的吗?我知道如果 elsif 可以轻松解决这个特定问题,只需将其分解为,但我对三元运算符(单行条件)在 python 中的工作方式更感兴趣。谢谢!
【问题讨论】:
-
赋值不是 Python 中的表达式(与 C/C++ 不同),因此您不能在此处使用三元运算符(它仅适用于表达式)。