Skip to main content
 首页 » 编程设计

python之如何将此循环转换为列表理解

2025年05月04日32mq0036

我正在尝试将这个带有嵌套 if 语句的循环转换为 python 中的列表推导式。我想我在列表理解中看不到模式。对于上下文,下面的循环扫描一个名为 ibi_a 的数组,如果它扫描的每个索引的值都小于变量 antStart,则增加 rowCount。

rowCount = 0 
for row in range(0,len(ibi_a)): 
    if ((float(ibi_a[row][timeStampCol])) < antStart): 
        rowCount = rowCount+1 #increase rowCount to search for index of antStart 

我尝试了以下代码但没有成功。

rowCount = 0 
rowCount = [rowCount+1 for row in range(0,len(ibi_a)) if ((float(ibi_a[row][timeStampCol])) < antStart] 

请您参考如下方法:

列表理解用于生成列表,这不是您的 for 循环正在做的事情。如果你愿意,你可以这样做:

rowCount = sum((float(row[timeStampCol]) < antStart) for row in ibi_a) 

sum充当 bool 值的计数。