[Python] 268 ゼロ埋め数字のリストを作成する その2

前回の続きです。

for文ではなくリスト内包表記で書くと以下の通りになります。

リストを関数の戻り値にすることもできますが、普通に変数にする方が使い勝手は良さそうです。

# 00001から11000までの千番台ごとのリストを入れ子にしたリストを作成する関数
def list_num():
    return [[str(x).zfill(5) for x in range(1000*thou +1,1000*thou +1001)]\
for thou in range(0,11) ]

list_num_flat = [y for x in list_num() for y in x]

print(len(list_num_flat))
--------------------------------------------------

出力
--------------------------------------------------
11000

[Python] 267 ゼロ埋め数字のリストを作成する

00001から11000のゼロ埋め数字を1000個ずつまとめたリストの作成コードです。欠番検索の元データに使えます。

リスト内の1つ目のリストは00001から01000のゼロ埋め数字で構成されています。

list_all = list()
for thousand in range(0,11,1):
    list_thou = list()
    for num in range(1,1001,1):
        number = 1000*thousand + num
        # 数字を5桁のゼロ埋め数字に変換する
        number_5digits = str(number).zfill(5)
        list_thou.append(number_5digits)
    list_all.append(list_thou)

# リストを平滑化して入れ子をなくす
list_all_flat = [y for x in list_all for y in x]

print(len(list_all_flat))
--------------------------------------------------

出力
--------------------------------------------------
11000