各要素が文字列であるセットがある場合、これらの文字列の長さの合計である整数にセットを減らすにはどうすればよいですか?
setA = ("hi", "hello", "bye")
reduce(lambda .... for word in setA)
ラムダ関数を使用してreduceを呼び出すと、10(2 + 5 + 3)が返されます。
いくつかのラムダでそれを行うことができると思いますが、よりクリーンな方法が必要です。
各要素が文字列であるセットがある場合、これらの文字列の長さの合計である整数にセットを減らすにはどうすればよいですか?
setA = ("hi", "hello", "bye")
reduce(lambda .... for word in setA)
ラムダ関数を使用してreduceを呼び出すと、10(2 + 5 + 3)が返されます。
いくつかのラムダでそれを行うことができると思いますが、よりクリーンな方法が必要です。
どうぞ:
sum(map(len, setA))
lambda
とを使用してこれを本当に実行したい場合はreduce
、次のことができます。
reduce(lambda x, y: x + len(y), s, 0)
reduce
しかし、なぜ単にを使用するのではなく0から始めたいのかわかりません。sum
その場合、ラムダはちょうどlambda y: len(y)
、これはちょうどと同等ですlen
。
In [4]: reduce(lambda x, y: x+y , map(lambda x: len(x), setA))
Out[4]: 10