「タグ付き」タプルのリストがあります...各タプルは(tag_id、value)です...次のようになります:
my_list = [(tag_A, 100), (tag_A, 200), (tag_A, 300), (tag_A, 400), (tag_B, 400), (tag_B, 600)]
同じタグを持つ各タプルの値を合計したい...そのように:
sum_of_all_values_with_tag_A() = 1000
sum_of_all_values_with_tag_B() = 1000
それを行う簡単なPythonicの方法がわかりません。
sum(set(value for tag_id, value in my_list))
...すべての値の合計を返します。
合計したいタグを持つタプルだけがその式に触れられるように、forまたはwhileループでラップできると思います...?両方のタグに関連付けられた値を合計する必要があります...上記のように区別された 2 つの異なる合計が得られます。しかし、そのようなことのエレガントな構文を完全に理解することはできません。
これは、既存の関数内で発生しています。関数をネストせずにそれを行うのは素晴らしいことです。
どんな提案でも大歓迎です!