リストの要素をまとめてペアにして、最終的なオブジェクトを作成しようとしています。これはオブジェクトの合計と似ています。私はreduce
の単純なバリエーションを使用しようとしています。ここでは、これを行うためのフラットリストではなく、ペアのリストを検討します。私は数字nums
のリストの各要素に固有の合計に追加情報を追加したい除いPythonを使ってペアのリストを減らす
nums = [1, 2, 3]
reduce(lambda x, y: x + y, nums)
:私はの線に沿って何かをしたいです。各ペアについて例えば(a、b)は、リスト内の、合計を実行するように(A + B):
nums = [(1, 0), (2, 5), (3, 10)]
reduce(lambda x, y: (x[0]+x[1]) + (y[0]+y[1]), nums)
これは動作しません:
>>> reduce(lambda x, y: (x[0]+x[1]) + (y[0]+y[1]), nums)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <lambda>
TypeError: 'int' object is unsubscriptable
なぜそれは動作しませんか?私はnums
をフラットなリストとしてエンコードすることができることを知っています - それはポイントではありません - 私はちょうどペアのリストを繰り返したり、同じ長さの2つのリストを同時に反復できるreduce操作を作成し、両方のリスト。ありがとう。
はあなたがタプルであることを減らすの結果をしたいですか? –
reduceを使用する必要はありますか?私は単純な方が好きです sum(num [x]のxは[0] + x [1]) – cerealy