2024-06-26 14:41:30 发布
网友
我有两个长度不同的列表,我想用一个整数来比较它们的每一个项,如果其中任何一个项高于所说的整数,它就会中断它所在的for循环。
for list in listoflists: if {anyiteminlist} > 70: continue #as in skip to next list {rest of code here}
基本上,我需要说:“如果列表中的任何内容超过70,请继续循环下一个列表”
您可以像这样使用内置函数any:
for list in listoflists: if any(x < 70 for x in list): continue
any函数进行短路计算,因此只要在列表中找到满足条件的整数,它就会返回True。
any
True
另外,不应该使用变量list,因为it is a built-in function。
list
不要使用list作为变量名,它会隐藏内置的list()。有一个名为^{}的内置函数,在这里很有用
list()
if any(x>70 for x in the_list):
介于(和)之间的部分称为generator expression
(
)
好吧,我可能会使用生成器表达式来完成,但是由于还没有其他人提出这个建议,而且它没有(显式)嵌套循环:
>>> 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]
您可以像这样使用内置函数any:
any
函数进行短路计算,因此只要在列表中找到满足条件的整数,它就会返回True
。另外,不应该使用变量
list
,因为it is a built-in function。不要使用} 的内置函数,在这里很有用
list
作为变量名,它会隐藏内置的list()
。有一个名为^{介于
(
和)
之间的部分称为generator expression好吧,我可能会使用生成器表达式来完成,但是由于还没有其他人提出这个建议,而且它没有(显式)嵌套循环:
相关问题 更多 >
编程相关推荐