2014-01-21 69 views
3

如何在python三元中繼續使用?這甚至有可能嗎?繼續在python三元?

E.g.

>>> for i in range(10): 
...  x = i if i == 5 else continue 

給予SyntaxError: invalid syntax

如果繼續在三元是可行的,是有這樣做的任何其他方式:

>>> for i in range(10): 
...  if i ==5: 
...    x = i #actually i need to run a function given some condition(s) 
...  else: 
...    continue 
... 
>>> x 
5 

回答

8

你不能; continue是一個語句,條件表達式是一個表達式,並且不能在表達式中使用語句。畢竟,continue語句不會產生條件表達式返回的值。

使用if聲明代替:

if i == 5: 
    x = i 
else: 
    continue 

或更好:

if i != 5: 
    continue 
x = i