我可以使用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)
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)
| 归档时间: |
|
| 查看次数: |
17234 次 |
| 最近记录: |