Ответ 1
Примечание: "больше чем" >
... =>
не является допустимым оператором.
Попробуйте sum(y > 2 for y in x)
Или, как было предложено @Jochen, для защиты от нетрадиционных классов n-й стороны, используйте это:
sum(1 for y in x if y > 2)
Можно ли использовать лямбда-выражение для подсчета интересующих нас элементов? Например, когда мне нужно подсчитать элементы в списке более двух, я пробовал этот код, который возвращает 0.
x = [1,2,3]
x.count(lambda x: x > 2)
Примечание: "больше чем" >
... =>
не является допустимым оператором.
Попробуйте sum(y > 2 for y in x)
Или, как было предложено @Jochen, для защиты от нетрадиционных классов n-й стороны, используйте это:
sum(1 for y in x if y > 2)
Вы можете попробовать любой из следующих
len([y for y in x if y > 2])
или
len(filter(lambda y: y > 2, x))
или лучше
sum( y > 2 for y in x )
Нет, это не будет работать, но это будет:
len([y for y in x if y > 2])