python中if条件下列表的长度错误

python中if条件下列表的长度错误,python,list,if-statement,Python,List,If Statement,我的python列表如下所示: fin_list = [ ['1', '15'], ['3', '5', '1'], ['140', '147', '141'], ['133', '137', '134'], ['10', '12', '11'], ['12', '16', '15'], ['9', '10', '112576569'], ['8', '9', '10'], ['7', '8'], ['15', '1

我的python列表如下所示:

fin_list = [
    ['1', '15'],
    ['3', '5', '1'],
    ['140', '147', '141'],
    ['133', '137', '134'],
    ['10', '12', '11'],
    ['12', '16', '15'],
    ['9', '10', '112576569'],
    ['8', '9', '10'],
    ['7', '8'],
    ['15', '16', '9', '133889916'],
    ['1', '3', '74228172'],
    ['3', '5', '1'],
    ['5', '6'],
]
我想删除所有有大数字的列表,比如112576569、133889916和74228172。因此,我在我的代码中加入一个条件:

if(all(i<=1000 for i in fin_list)):
    print fin_list

if(all(i=1000
),所有列表都显示在输出中。

您没有数字。您有字符串。字符串按字典顺序排列,在Python 2中使用比较时,实际数字(如
1000
)总是排在其他类型之前

所以
'133889916'>'133889916'>>'1000'
>>> '133889916' <= 1000
False
>>> '1000' <= 1000
False
if all(int(i) <= 1000 for i in fin_list):