特に1つのリストを考慮して、複数のリストのリストを作成したいと思います。例えばリスト内のリストに項目を挿入する
:私はx
リストにa
、b
、c
から項目を追加し、一つのメインリストにx
を追加します。
mainlist = []
x = [1, 2, 3] # items will be added hear.
a = ['a1', 'b1', 'c1']
b = ['a2', 'b2', 'c2']
c = ['a3', 'b3', 'c3']
まず私はx
のためにリストのリストを作成する必要があります。
x = [[i] for i in x]
それが返されます。
out[1]: [[1], [2], [3]]
を今、私はこれらのリストに項目を追加する:
for item in range(0, len(x)):
x[item].insert(1, a[item])
out[2]: [[1, 'a1'], [2, 'b1'], [3, 'c1']]
次にアプリmainlist
に終わり:
mainlist.append(x)
out[3]: [[[1, 'a1'], [2, 'b1'], [3, 'c1']]]
私の質問は、私はa
リストと同じように、私はこの出力を得るために、b
とc
から項目を追加する方法である:私はこれを試してみました
[[[1, 'a1'], [2, 'b1'], [3, 'c1']], [1, 'a2'], [2, 'b2'], [3, 'c2']], [1, 'a3'], [2, 'b3'], [3, 'c3']]]
、およびI結果が得られましたが、このコードを改善できると思います。
item1 = [[i] for i in x]
item2 = [[i] for i in x]
item3 = [[i] for i in x]
for i in range(0, len(item1)):
item1[i].insert(1, a[i])
for i in range(0, len(item2)):
item2[i].insert(1, b[i])
for i in range(0, len(item3)):
item3[i].insert(1, c[i])
mainlist.append(item1)
mainlist.append(item2)
mainlist.append(item3)
改善のためのアドバイスが必要です。ありがとう!
ありがとう、@パドラック。素晴らしい解決策。説明ありがとう。 – estebanpdl
zipとの違いは、最短リストの長さに切り詰められることです。列挙はIndecErrorを与えます。 –