2017-02-12 6 views
0

Предположим, у меня есть список:Обработка списков в Python

a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] 

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

+0

Почему вы ** ** потребность сделать это в одной строке? –

+0

Вы пробовали что-нибудь? –

+0

@ MAdeelKhalid вы видели в комментариях ответа, я спросил Pbd то же самое, что я пробовал. –

ответ

3
print [x for x in a if x < 10] 

Возьмите еще посмотреть на lambda functions, я считаю, что это то, что вы ищете.

+0

Да, я получил его сейчас, он работает отлично, но я хочу знать, что я могу это сделать для x в && if x <10'. –

+0

Вы можете использовать интерпретатор python для тестирования. Я сделал это, и это дало мне ошибку, говоря, что bool не является итерируемым, вероятно, потому, что 'x in a && x <10' является bool и' for' не может перебирать его – Pbd

+1

Ohk Я получил его сейчас. –

0

Так что для того, чтобы напечатать что-то из списка, который составляет менее 10 В той же строке, сначала нужно создать список:

numbers = [] 

петлю через каждый элемент списка

for i in a: 

И тогда вам нужно Если заявление, чтобы проверить, если элемент меньше 10

if i < 10: 

Добавление номера в список

 numbers.append(str(i)) 

Регистрация результаты вместе:

result = " ".join(numbers) 

И, наконец, печать его

print(result) 

И если объединить все вместе, это что вы должны получить:

a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] 
numbers = [] 
for i in a: 
    if i < 10: 
     numbers.append(str(i)) 
result = " ".join(numbers) 
print(result) 

Результат должен быть:

1 1 2 3 5 8 
+2

Вы прочитали вопрос – Pbd

+0

@Ashiro У меня есть лучшее решение, чем это, моя проблема в том, что я просто хочу сделать это в одной строке. –

+0

О, я думал, что вы хотите получить результат в одной строке. Если вы хотите, чтобы программа была в одной строке, вы могли либо использовать lambda, либо exec() – Ashiro