概要
Pythonで「多重ループを使ったリストの作成をリスト内包表記で行う」の動作を確認してみました。以下のページを参考にしました。
実装
以下のファイルを作成しました。
sample.py
mylist = [i for i in range(1, 6)]
print(mylist)
mylist = []
for i in range(1, 6):
mylist.append(i)
print(mylist)
mylist = []
for i in range(1, 4):
for j in range(1, 3):
mylist.append(i * 10 + j)
print(mylist)
mylist = [i * 10 + j for i in range(1, 4) for j in range(1, 3)]
print(mylist)
mylist = [i * 100 + j * 10 + k for i in range(1, 4) \
for j in range(1, 3) for k in range(1, 3)]
print(mylist)
mylist = []
for i in range(1, 4):
sublist = []
for j in range(1,3):
sublist.append(i * 10 + j)
mylist.append(sublist)
print(mylist)
mylist = [[i * 10 + j for j in range(1, 3)] for i in range(1, 4)]
print(mylist)
以下のコマンドを実行しました。
$ python3 sample.py
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[11, 12, 21, 22, 31, 32]
[11, 12, 21, 22, 31, 32]
[111, 112, 121, 122, 211, 212, 221, 222, 311, 312, 321, 322]
[[11, 12], [21, 22], [31, 32]]
[[11, 12], [21, 22], [31, 32]]
まとめ
何かの役に立てばと。