gpt4 book ai didi

python - 在 for 循环中通过三元运算符递增不同的变量

转载 作者:太空宇宙 更新时间:2023-11-04 09:54:04 24 4
gpt4 key购买 nike

我正在尝试在我的 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 assignments are statements ,因此不能用它们代替表达式。

正如您正确指出的那样,解决方案是使用正常的条件语句:

for i in range(len(list)):
if alist[i] is not blist[i]:
if alist[i] > blist[i]:
ascore +=1
else:
bscore +=1
print(ascore, bscore)

关于python - 在 for 循环中通过三元运算符递增不同的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46626688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com