Search code examples
pythonlambda

Use lambda expression to count the elements that I'm interested in Python


Can I use lambda expression to count the elements that I'm interested? For example, when I need to count the elements in a list that is more than two, I tried this code which returns 0.

x = [1,2,3]
x.count(lambda x: x > 2)

Solution

  • Note: "more than" is > ... => is not a valid operator.

    Try sum(y > 2 for y in x)

    Or, as suggested by @Jochen, to guard against non-conventional nth-party classes, use this:

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