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

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

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

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

Q&A

解決済

2回答

929閲覧

リストの追加がうまくいきません!

Naooooooo

総合スコア17

Python 3.x

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

0グッド

0クリップ

投稿2019/01/15 03:51

編集2019/01/15 03:56

乱数リストlistを作る
乱数リストlistの要素の最小値を、その最小値+新たに作った乱数に置き換える
N回繰り返す

このとき、新たなリスト2つ
listmin
[繰り返し1回目の最小値、繰り返し2回目の最小値、・・・繰り返しN回目の最小値]
と、
listrecord
[繰り返し1回目のlist,繰り返し2回目のlist・・・繰り返しN回目のlist]
を作り、
listrecordをリスト型からNumpy型にするというコードを下記のようにしました。

python3

1import random 2import numpy as np 3 4list = [random.randint(0, 10) for i in range(5)] 5print(list) 6 7listmin = [] 8 9listrecord = [] 10 11 12for i in range(5): 13 where = min(range(len(list)), key=lambda i: list[i]) 14 15 a = random.randint(0,10) 16 17 18 newmin = min(list)+a 19 list[where] = newmin 20 21 listmin.append(min(list)) 22 23 listrecord.append(list) 24 arr_listrecord = np.array(listrecord) 25 print(list) 26 27print(listmin) 28print(listrecord) 29print(arr_listrecord) 30

しかし、出力すると
[1, 7, 9, 2, 0]
[1, 7, 9, 2, 1]
[4, 7, 9, 2, 1]
[4, 7, 9, 2, 6]
[4, 7, 9, 5, 6]
[10, 7, 9, 5, 6]
[1, 1, 2, 4, 5]
[[10, 7, 9, 5, 6], [10, 7, 9, 5, 6], [10, 7, 9, 5, 6], [10, 7, 9, 5, 6], [10, 7, 9, 5, 6]]
[[10 7 9 5 6]
[10 7 9 5 6]
[10 7 9 5 6]
[10 7 9 5 6]
[10 7 9 5 6]]

このようにlistminはうまくいくのですがlistrecordの中身がすべて最後の繰り返しの時のリストになってしまいます。
どなたかやり方を教えてくださると助かります!!

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

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

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

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

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

guest

回答2

0

自己解決

ありがとうございます!

投稿2019/01/15 10:57

Naooooooo

総合スコア17

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

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

ozwind918

2019/01/15 14:44

解決したのであれば解決に結びついた回答をベストアンサーにしてください。 また、別途自己解決したのであればどうやって解決したのかを具体的に記載してその回答をベストアンサーにしてください。
guest

0

lst変数は同じ一つのリストを指しています。
よってappendしたものもすべて同じリストを指しています。
別リストとして追加したい場合はlistrecord.append(lst.copy())と記述してください。
なおlistという変数は、前回の質問のLouiS0616さんの回答に従ってlstなりに書き換えてください。

投稿2019/01/15 05:17

can110

総合スコア38262

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問