2015-01-22 3 views
2

Я знаю, как писать петли один вкладыш, с одной петлей, напримерВложенные один вкладыш петли

for x in range(0,10): print(x) 

Но я хочу что-то вроде

for x in range(0,10): if 1==1: print(x) 

Однако это возвращает ошибку. Как я могу это исправить?

+5

Вы это исправить, поставив его на несколько строк;) Или, что более серьезно, вы могли бы реорганизовать в список понимания, что-то вроде ' для y в (x для x в диапазоне (0, 10), если 1 == 1): print (y) ' –

+1

@MagnusHoff Это называется выражением генератора, а не пониманием списка: D – thefourtheye

+0

Или просто забудьте про однострочный , Повторяемость рассчитывается. –

ответ

2

В PY3 вы можете сделать

for x in range(0,10): print(x) if 1==1 else None 

Выходной

>>> for x in range(0,10): print(x) if 1==1 else None 
... 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
+0

Большое спасибо! –

+1

Это будет печатать 'None' для тех значений, где условие не применяется. Это в основном 'print ((x), если условие else None)' Для Python3 он работает лучше, поскольку 'print' является функцией. –

+0

@tobias_k OP может там что-то положить. Спасибо за информацию, хотя –