Python: ошибка при попытке перебрать список и вывести только положительные значения - PullRequest
0 голосов
/ 23 января 2020

Отказ от ответственности: я новичок в python

Мой код:

lst = []
def func():

    n = int(input())
    for i in range(n):
        value = int(input())
        lst.append([value])

    return lst

print(func())

limit = 0
x = [i for i in lst if i > limit]
print(x)

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

Я пытался встроить проблему в функцию, но у меня все еще возникает аналогичная проблема.

Ошибка:

TypeError: '>' not supported between instances of 'list' and 'int'

Ответы [ 2 ]

0 голосов
/ 23 января 2020

lst.append([value]) добавляет список в ваш список. Попробуйте lst.append(value) (без квадратных скобок). Тогда у вас будет список значений, а не список списков.

0 голосов
/ 23 января 2020

Попробуйте следующее:

def filter_values(L,limit):
    return [x for x in L if x > limit]

Пример:

In[1]: L=[0,-1,3,4]
lim = 0
filter_values(L,lim)
Out[2]:
[3, 4]
...