python中if条件下列表的长度错误
我的python列表如下所示: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
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):