こんにちは私はforループでリストを作成しようとしています。これはこれまで私が持っているものです:forループでのPythonのポピュレートリスト
newlist = []
for x in range(10):
for y in range(10):
newlist.append(y)
この時点で私は困惑しています。私はループが私に10リストのリストを与えることを望んでいた。
thx
こんにちは私はforループでリストを作成しようとしています。これはこれまで私が持っているものです:forループでのPythonのポピュレートリスト
newlist = []
for x in range(10):
for y in range(10):
newlist.append(y)
この時点で私は困惑しています。私はループが私に10リストのリストを与えることを望んでいた。
thx
あなたは近くでした。しかし、内側のループの新しい要素を空のリストに追加する必要があります。空のリストは外側のリストの要素として追加されます。さもなければ、(あなたのコードからわかるように)100要素のフラットなリストを得るでしょう。
newlist = []
for x in range(10):
innerlist = []
for y in range(10):
innerlist.append(y)
newlist.append(innerlist)
print(newlist)
さらに簡潔なバージョンについては、Błotosmętekのコメントを参照してください。
で100個の要素を持つリストを与えるだろう...と、とにかく、 'newlist = [[範囲のyの範囲(10)]でxのX (10)] 'はより簡潔である。 –
@Błotosmętek良い点。 –
ああ、ありがとう、あなたは私がやろうとしていることをする5つの方法のように私に与えた:P私は彼らのうちの1人にも感謝してもらいたいと思います – CommanderPO
あなたは別のレベルあなたは同じ結果を達成するためにlist comprehension
と、この1行のコードを使用することができます
newlist = []
for x in range(10):
temp_list = []
for y in range(10):
temp_list.append(y)
newlist.append(temp_list)
それとも、ネストされたリストの内包
[[x for x in range(10)] for _ in range(10)]
これだけで何もここではできません。 2つのforループ(OP)で苦労している人にとっては、重要な 'new_list ='部分を追加するべきでしょう...また、 '' range(10) 'の[list(range(10))] '、しかし、主に意見に基づいています。 –
取得するintermiateリストを置く必要があります。
をnew_list = [[i for i in range(10)] for j in range(10)]
ほとんどの意見に基づいているにもかかわらず、 'new_list = [list(range)(10)]を行うのはちょっとうまくいきます。 –
ありがとう@MarkusMeskanen、私の考えは、OPの方が簡単で、彼らはリスト内包としています:) – ettanany
また、ループが1つ必要で、を追加するだけです。
newlist = []
for x in range(10):
newlist.append(list(range(10)))
それとも
newlist = [list(range(10)) for _ in range(10)]
いいえ、それはあなたにそれ – user3764893