免责声明:我是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'
答案 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)
(不带方括号)。然后,您将有一个值列表,而不是列表列表。