【Python】内包表記

各プログラミング言語には、独特な記法があります。Pythonでもコードの文字数を減少させることができる面白い記法があります。

内包表記は、その一つだと思います。

リストの内包表記を見てみます。

例えば、「0から11までの整数で3で割り切れない数のリスト」を作るとします。

通常のコードでは、このようになると思います。

num = []
for i in range(12):
   if i % 3:
      num.append(i)

print(num)
[1, 2, 4, 5, 7, 8, 10, 11]

これを内包表記で書くと

[要素 for 変数名 in 繰返しオブジェクト if 条件式]

で記述でき、実際には下記のようになります。

num = [i for i in range(12) if i % 3]
print(num)
[1, 2, 4, 5, 7, 8, 10, 11]

すごく省略できていいですね

ちなみに、辞書形式でも生成できます。

num = {str(i) : i for i in range(12) if i % 3}
print(num)

{'1': 1, '2': 2, '4': 4, '5': 5, '7': 7, '8': 8, '10': 10, '11': 11}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です