NxM行列を作成し、乱数で埋めることで入れ子リストを作成して管理する方法を学びました。リスト内の各リストを作成して記入してください。
私はシンプルな1ライナーで解決し、包括的なソリューションを書くのに苦労しました。
私はこのWebサイトからこのヒントを得たが、それがどのように機能するのか完全に理解していなかったので、私は最初の解決法を不正行為と呼びます。だから私は自分自身でもっと詳細なコードを書こうとしましたが、それは難しかったし、私はそれが正しいことを完全には確信していません。
元の溶液:
from random import randint
size_n = int(input("Number of lists N "))
size_m = int(input("Number of elements M "))
matrix = [[randint(1,9) for m in range(size_m)] for n in range(size_n)]
print(matrix)
私は、ループ内のループの正しいレベルのリストのリストを作成するのに苦労しました。私は一時的な行列に終わるが、私はそれが良い解決策であるとは思わない。
最終的な解決策:
from random import randint
size_n = int(input("Number of lists N "))
size_m = int(input("Number of elements M "))
matrix = []
for n in range(size_n):
tmp = []
for m in range(size_m):
tmp.append(randint(1,9))
matrix.append(tmp)
print(matrix)
あなたは私が仕事のための正しい解決策であるかを理解するのに役立つことはできますか?
P.S.コードが正常に機能していても、それがよりきれいだと思うのであれば、開発者は別の解決策を探すのが普通ですか?
リスト内包表記についてはどうしたのですか?それが正常であるかどうかにかかわらず、あなたの他の質問に答えるために、より洗練されたソリューションを探すのは間違っているとは思いません。 – Iluvatar
元のソリューションで何が問題になっていますか? – TigerhawkT3
私はこのウェブサイトからこのヒントを得ましたが、その仕組みを完全に理解していませんでした。だから私は自分自身でもっと詳細なコードを書こうとしましたが、それは難しかったし、私はそれが正しいことを完全には確信していません。 –