TypeError: unsupported operand type(s) for +: 'int' and 'tuple' とエラーが出ました。permutationsで
配列aの要素のインデックスより後に入れ替えた場合は、配列bの配列aの要素の入れ替えたインデックスの値を配列として出力させたいです(この結果を*とする)。なので理想のアウトプットは[*,permutationsで入れかえた様々な配列]というものになります。
import itertools a = [1,3,4,8,6] b = [1,7,9,3,4] result = [] for x in itertools.permutations(a): tmp = [] for i, v in enumerate(x): print(i, v) if i > a.index(v): tmp.append( dict(zip(a, b))[v] ) result.append( (sum(tmp), list(x)) ) x1= sorted(result, key=lambda x: x[0]) print(x1) def sum_of_sum_of_sub_sequence(x): return sum(sum(x[:i]) for i in range(1, len(x) + 1)) print([(i, [sum_of_sum_of_sub_sequence(x1)]) for i, x in x1])
とコードを書きました。実行すると上記のエラーが出ました。何が間違っているのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/07/07 01:30
2017/07/07 01:32
退会済みユーザー
2017/07/07 01:47
2017/07/07 01:58
2017/07/07 11:39
退会済みユーザー
2017/07/07 11:42
2017/07/07 11:48
2017/07/07 12:03
退会済みユーザー
2017/07/07 12:19