Python:尝试遍历列表并打印仅正值的错误

时间:2020-01-23 15:11:25

标签: python list list-comprehension typeerror

免责声明:我是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 :(得分:0)

尝试以下方法:

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]

答案 1 :(得分:0)

lst.append([value])正在将一个列表添加到您的列表。尝试lst.append(value)(不带方括号)。然后,您将有一个值列表,而不是列表列表。

相关问题