我正在尝试将这个带有嵌套 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 值的计数。
