a=['1','2','3','4','5','6','7','8']
というリストがあった時に、リストの要素0番目と1番目を足し合わせて新たなリストを作るのはどうすれば良いでしょうか?
アウトプットは a=['3(=1+2)','3','4','5','6','7','8']
のようにしたいです。
よろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
凡ミスがくやしかったので、別解を用意しました。
Python
1a = ['1', '2', '3', '4', '5', '6', '7', '8'] 2a = [sum([int(x) for x in a[0:2]])] + a[2:]
投稿2018/03/16 08:30
総合スコア7196
0
python
1a = ['1','2','3','4','5','6','7','8'] 2x = a[0] 3y = a[1] 4a = ['{}(={}+{})'.format(int(x)+int(y), x, y)] + a[2:] 5print(a) 6# ['3(=1+2)', '3', '4', '5', '6', '7', '8']
投稿2018/03/16 08:15
総合スコア16731
0
ベストアンサー
Python
1a=['1','2','3','4','5','6','7','8'] 2b = [str(int(a[0])+int(a[1]))] + a[2:] 3print(b) # ['3', '3', '4', '5', '6', '7', '8'] 4 5# 先頭N個を1つにまとめる 6N = 3 7b = [str(sum(list(map(int, a[0:N]))))] + a[N:] 8print(b) # ['6', '4', '5', '6', '7', '8'] 9 10# 計算式も 11b = ['{}(={})'.format( sum(list(map(int, a[0:N]))), '+'.join(a[0:N]))] + a[N:] 12print(b) # ['6(=1+2+3)', '4', '5', '6', '7', '8']
投稿2018/03/16 08:10
編集2018/03/16 08:30総合スコア38233
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/03/16 08:14
can110様
strとintをうまく使います。
ありがとうございます!
2018/03/16 08:24 編集
あ、fuzzballさんの回答みて気づきましたが
「3(=1+2)」の「(=1+2)」部分は出力しなくていいんですよね。ほっ。
(やれないことはないけど面倒)
退会済みユーザー
2018/03/20 03:49
can110様
すいません、先頭2つではなくてある連続する要素を足してリストを作る場合はどのようにすれば良いでしょうか。
上と同じようにやったのですがうまくいかなくて、、、
2018/03/20 03:59
そういうときは、まず自分のコードを書きましょう。
2018/03/20 03:59
「ある連続する要素を足してリストを作る」というのが解釈によって結果が異なりえるので
具体例とともに別質問を立てられた方がよいと思います。
退会済みユーザー
2018/03/20 04:12
fuzzball様、can110様
分かりました。
新しく質問を立ててみます。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/03/16 16:21