2014-01-21 7 views
3

Как я могу использовать продолжение в троице python? Возможно ли это?Использование продолжения в python trernary?

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 
Смежные вопросы