如何在不使用for循环的情况下将列表中的所有项与整数进行比较
我有几个长度不一样的列表,我想把每个列表里的每个项目和一个整数进行比较。如果列表中的任何一个项目大于这个整数,就要中断当前的循环。
for list in listoflists:
if {anyiteminlist} > 70:
continue #as in skip to next list
{rest of code here}
简单来说,我想说:“如果这个列表里有任何一个数大于70,就继续处理下一个列表。”
6 个回答
1
你可以把它简化成这样 :D
for good_list in filter(lambda x: max(x)<=70, listoflists):
# do stuff
3
好吧,我可能会用生成器表达式来实现这个,不过因为还没有其他人提到这个方法,而且它没有(明显的)嵌套循环:
>>> lol = [[1,2,3],[4,40],[10,20,30]]
>>>
>>> for l in lol:
... if max(l) > 30:
... continue
... print l
...
[1, 2, 3]
[10, 20, 30]