lea*_*ner 88 python python-2.7
可能重复:
Python中的三元条件运算符
我想在python中执行以下操作:
while( i < someW && j < someX){
int x = A[i] > B[j]? A[i++]:B[j++];
....
}
Run Code Online (Sandbox Code Playgroud)
显然,当任何一个i
或j
达到限制时,代码将突破循环.我需要循环的值i
和j
循环外的值.
我必须真的这样做
x=0
...
if A[i] > B[j]:
x = A[i]
i+=1
else:
x = B[j]
j+=1
Run Code Online (Sandbox Code Playgroud)
或者有人知道更短的方式吗?
除了以上所述,我可以让Python支持类似的东西
a,b=5,7
x = a > b ? 10 : 11
Run Code Online (Sandbox Code Playgroud)
Lev*_*sky 213
最可读的方式是
x = 10 if a > b else 11
Run Code Online (Sandbox Code Playgroud)
但你也可以使用and
和or
:
x = a > b and 10 or 11
Run Code Online (Sandbox Code Playgroud)
然而,"Python的禅宗"说"可读性很重要",所以第一种方式.
此外,如果您放置一个变量而不是10
并且它的计算结果为,则和 - 或技巧将失败False
.
但是,如果超过赋值取决于这个条件,那么编写它就会更具可读性:
if A[i] > B[j]:
x = A[i]
i += 1
else:
x = A[j]
j += 1
Run Code Online (Sandbox Code Playgroud)
除非你把i
和j
容器中.但是,如果你向我们展示你为什么需要它,你很可能会发现它.
Don*_*sto 11
试试这个:
x = a > b and 10 or 11
Run Code Online (Sandbox Code Playgroud)
这是一个执行样本:
>>> a,b=5,7
>>> x = a > b and 10 or 11
>>> print x
11
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
197583 次 |
最近记录: |