2016-04-22 3 views

ответ

3

Используйте перечисление:

for i, v in enumerate(range(10)): 
    if i == 5: 
     print(i) 

Я предпочитаю выше подход, как это читается, и выводит его, как вы просили.

Если вы действительно хотите поставить эту линию, вы можете сделать что-то подобное, но, опять же, нет абсолютно никакого неправильного метода выше.

print(' '.join([str(i) for i, _ in enumerate(range(10)) if i in (1, 5)])) 
+0

все равно, что использует только одну строку, как 'печать х [индекс]'? – TCG

+0

Нет, и особенно не с печатью, я считаю. Кроме того, не все должно всегда соответствовать одной строке. Читаемость очень важна. – idjaw

+0

да, но я пытаюсь создать сетку с 1 по 9 чисел, используя для нее цикл цикла, и один код строки сделает его намного приятнее – TCG

3

Не уверен, что вы хотите сделать с этим, но вот вариант

for idx,val in enumerate(range(1,10)): 
    if idx in {1, 5}: 
     print idx, val # print both the index and the value 
+0

спасибо, но я бы хотел, чтобы это была только одна строка, например 'print x [index]' – TCG

+0

Вы не можете использовать условное выражение в однострочном 'print' сообщении AFAIK. И 'x [index]' не имеет смысла, потому что 'x' не индексируется –

+0

это был просто пример, спасибо вам в любом случае – TCG

Смежные вопросы