ある問題で入力データから2次元配列に代入して処理させようとしていた時にうまくいかず時間が掛かっていたので方針を変えて入力データから2つの1次元配列に分けて処理させてなんとか正解は出ました。
その後for文(コードは省略)なら出来たのですが、2次元配列のままで1次元配列と同じように書くと期待する結果が得られませんでした。
# うまくいかなかった2次元配列の例 ans = [sum(src[i:i+cnt][1]) for i in range(len(src)-cnt+1)]
####知りたいこと
2次元配列をスライスして列指定した合計を求める方法が知りたいです。
この例ですとsrc配列からスライスして[0,0],[1,10],[2,20]、その中から列[1]の合計を求める部分が知りたいです。
ご教示頂けると助かります。
Python3
1# 入力データ 2# 0 10 3# 1 20 4# 2 30 5# 3 40 6# input()入力処理は省略 7 8# 2次元配列のまま処理した場合 9src = [[0,0],[1,10],[2,20], [3,30], [4,40]] 10cnt = 3 11ans = [sum(src[i:i+cnt][1]) for i in range(len(src)-cnt+1)] 12print(ans) 13 14#期待する出力結果 15#[30, 60, 90] 16 17#間違った出力結果 18#[11, 22, 33]
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/29 13:08