Pythonでは、Lambda式を使ってリスト内の特定の要素の数を数えることができます。以下にその方法を示します。
# リスト内の要素が2より大きいものを数える
x = [1,2,3]
count = sum(1 for y in x if y > 2)
このコードでは、リストx
の各要素y
に対して、y > 2
がTrue
の場合に1を加算しています。その結果、リスト内の要素が2より大きいものの数が得られます。
また、functools
モジュールのreduce
関数を使って同様の処理を行うこともできます。
from functools import reduce
# リスト内の要素が2より大きいものを数える
x = [1,2,3]
count = reduce(lambda a,i: a+1 if (i>2) else a, x, 0)
このコードでは、reduce
関数を使ってリストx
の各要素i
に対して、i > 2
がTrue
の場合に累積変数a
に1を加算しています。
以上のように、PythonのLambda式を使うと、リスト内の特定の要素の数を効率的に数えることができます。ただし、Lambda式は一行で記述しなければならないため、複雑な処理には向いていません。適切な場面での使用を心がけましょう。