2024-04-25 11:31:31 发布
网友
我有一个非常基本和简单的问题,但出于某种原因,我无法理解它。我有以下python代码:
counter = 0 for el in mylist: if self.check_el(el): counter += 1
我想把它排成一行。这是可能实现的吗
是的,这里有一个选择:
counter = sum(1 for el in mylist if self.check_el(el))
sum(map(lambda el: bool(self.check_el(el)), my_list))
或者,如果您知道check_el总是返回布尔值:
check_el
sum(map(self.check_el, my_list))
counter = sum(int(self.check_el(el)) for el in mylist)
是的,这里有一个选择:
或者,如果您知道
check_el
总是返回布尔值:相关问题 更多 >
编程相关推荐