質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

2回答

117閲覧

リストからリストを作る

drymouth

総合スコア12

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/06/12 00:06

編集2019/06/12 21:37

前提・実現したいこと

いま数値だけからなるリストrがあり、新たなリストtを作り、t[n]を求めたいと思っています。
tの中身にしたいのは

t[0] = 1 + 1 * r[0] * 定数a
t[1] = t[0] + t[0] * r[1] * 定数a
t[2] = t[1] + t[1] * r[2] * 定数a
...
t[n] = t[n-1] + t[n-1] * r[n] * 定数a

です。どう書いたらいいでしょうか?教えていただけますとありがたいです。

試したこと

1:LouiS0616さんのご回答を受けて
t[0] = 1 + 1 * r[0] * 定数a
はappendできるが、t[1]以降がうまく行かない。

def t(n):
if n == 1:
1 + 1 * r[0] * 定数a
else:
t(n-1) * t(n-1) * r * 定数a
のような関数も考えてみたが、recursion errorが出てしまう。

2:matherさんのご回答を受けて
initial = 1 + 1 * r[0] * 定数a
for k in r:
t = initial + initial * k * 定数a
を計算してみたが、Excelでの計算と異なる結果が出てしまう。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

drymouth

2019/06/12 21:23

丸投げの質問をしてしまい、申し訳ございません。 お2人からの回答を踏まえ、調査したこと・試したことを加筆いたします。
guest

回答2

0

t[n]を求めたいと思っています。

これだけが目的なら t はリストでなくてもいいですね。

python

1a = 2 2r = [1,2,3,4,5] 3t = 1 4 5for x in r: 6 t = t + t * x * a 7 8print(t) #=> 10395

投稿2019/06/12 01:58

mather

総合スコア6753

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

drymouth

2019/06/12 21:20

ご返答ありがとうございます。もう少し考えてみたいと思います。
guest

0

適当に直前の値を記憶させておけば良いでしょう。

Python

1new_t = [] 2 3pre = 1 4for e in t: 5 new_t.append(...) 6 pre = e

まずは愚直に書いてみるべきです。

投稿2019/06/12 00:12

LouiS0616

総合スコア35660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

drymouth

2019/06/12 21:20

ご返答ありがとうございます。もう少し考えてみたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問