gpt4 book ai didi

Python if-else 简写

转载 作者:IT老高 更新时间:2023-10-28 21:11:12 33 4
gpt4 key购买 nike

Possible Duplicate:
Ternary conditional operator in Python

我想在 python 中做以下事情:

while( i < someW && j < someX){
int x = A[i] > B[j]? A[i++]:B[j++];
....
}

显然,当 ij 达到限制时,代码将跳出循环。我需要循环外的 ij 的值。

我真的必须这样做

x=0
...
if A[i] > B[j]:
x = A[i]
i+=1
else:
x = B[j]
j+=1

或者有人知道更短的方法吗?

除了上述之外,我可以让 Python 支持类似的东西

a,b=5,7
x = a > b ? 10 : 11

最佳答案

最易读的方式是

x = 10 if a > b else 11

但您也可以使用 andor:

x = a > b and 10 or 11

不过,“Python 之禅”说“可读性很重要”,所以请选择第一种方式。

此外,如果您放置一个变量而不是 10 并且它的计算结果为 False,则与或技巧将失败。

但是,如果不止一个赋值依赖于这个条件,那么按照你的方式编写它会更具可读性:

if A[i] > B[j]:
x = A[i]
i += 1
else:
x = A[j]
j += 1

除非您将 ij 放在容器中。但如果你告诉我们你为什么需要它,很可能你不需要它。

关于Python if-else 简写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14461905/

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