前提・実現したいこと
こんにちは
言葉でうまく説明できなかったので下記を見てください
入力
[(1, 9), (2, 5), (10, 9)]
出力
[13, 12, 16, 15, 21, 20, 24, 23] # (順番問わない) ([1 + 2 + 10, 1 + 2 + 9, 1 + 5 + 10, ...])
入力
[(5, 9)]
出力
[5, 9]
入力
[(1, 2), (4, 9)]
出力
[3, 10, 6, 11]
タプルのサイズは必ず2です
発生している問題・エラーメッセージ & 試したこと
最初にタプルのリストをフラットにして
itertools の combinations を使用してリストの長さで組合せ足し算を行いましたが
2 + 5 + 10
など同じタプル内での足し算がされてしまいます
解決策などありますでしょうか
よろしくお願いします
該当のソースコード
Python
1from itertools import combinations 2 3 4xlist = [(1, 9), (2, 5), (10, 9)] 5flat_xlist = [i for j in xlist for i in j] 6 7score = [] 8 9for combination in combinations(flat_xlist, len(xlist)): 10 score.append(sum(combination)) 11 12print(score) 13
出力
[12, 15, 20, 19, 8, 13, 12, 16, 15, 20, 16, 21, 20, 24, 23, 28, 17, 16, 21, 24]
補足情報(FW/ツールのバージョンなど)
Python 3.5
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/21 04:17