Python 计算一行中列表中返回1的元素数
我有一个非常基本和简单的问题,但出于某种原因,我无法理解它。我有以下python代码:Python 计算一行中列表中返回1的元素数,python,Python,我有一个非常基本和简单的问题,但出于某种原因,我无法理解它。我有以下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)) 是的,这里有一个选择: counter = sum(1 for el in myli
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))
是的,这里有一个选择:
counter = sum(1 for el in mylist if self.check_el(el))
或者,如果您知道check_el始终返回布尔值:
sum(map(self.check_el, my_list))
或者,如果您知道check_el始终返回布尔值:
sum(map(self.check_el, my_list))
我建议
lenlistfilterself.check_el,我的列表
它过滤掉所有未实现自我检查的元素,将过滤对象转换为列表,然后获取所述列表的长度。如果您想迭代元素,filterself.check\el,mylist是可编辑的。我建议
lenlistfilterself.check_el,我的列表
它过滤掉所有未实现自我检查的元素,将过滤对象转换为列表,然后获取所述列表的长度。如果你想迭代元素,filterself.check_el,mylist是可编辑的。考虑到目前为止发布的更简单的方法,我认为这是一个巨大的过度杀伤力。考虑到目前为止发布的更简单的方法,我认为这是一个巨大的过度杀伤力。