使用lambda表达式来计算我对Python感兴趣的元素

pro*_*eek 26 python lambda

我可以使用lambda表达式来计算我感兴趣的元素吗?例如,当我需要计算列表中超过两个的元素时,我尝试了这个返回0的代码.

x = [1,2,3]
x.count(lambda x: x > 2)
Run Code Online (Sandbox Code Playgroud)

Joh*_*hin 28

注意:"超过"是>...... =>不是有效的运算符.

尝试 sum(y > 2 for y in x)

或者,正如@Jochen所建议的那样,为了防范非传统的第n方类,请使用:

sum(1 for y in x if y > 2)

  • 或者`sum(如果y> 2,则为x中的y为y) (8认同)

don*_*mus 13

您可以尝试以下任何一种方法

len([y for y in x if y > 2])
Run Code Online (Sandbox Code Playgroud)

要么

len(filter(lambda y: y > 2, x))
Run Code Online (Sandbox Code Playgroud)

或者更好

sum( y > 2 for y in x )
Run Code Online (Sandbox Code Playgroud)