MENU

【Python 基礎】内包表記でリストを一行で定義

  • URLをコピーしました!
目次

内包表記とは

コードを簡潔に記述する方法。

今回は、内包表記の代表的な3つの形式を紹介します。

  • リスト内包表記
  • 集合内包表記
  • 辞書内包表記

リスト内包表記

3つの表記の中で、一番使う機会の多いのがリスト内包表記です。

記述方法は下記の通り。

list1は内包表記を使用しない記述

list2 は内包表記を使用した記述です。

内包表記を使用しない場合は、3行でリストを記述しているが、

内包表記を使用すると、1行でリストを記述しています。

# リスト内包表記を使用しない場合

list1 = []

for i in range(10):

list1.append(i)

# リスト内包表記

list2 = [i for i in range(10)]

# 作成したリストの表示

print(list1)

print(list2)

以下は、print文で表示した結果です。

リスト内包表記を使用していない場合とした場合で、

作成したリストは同じことがわかります。

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

集合内包表記

集合を作成するときにも内包表記で記述可能です。

リスト内包表記と似た形式ですが、集合内包表記は、’{}’中括弧を使用します。

記述方法は、下記の通りです。簡単ですね!

# 集合内包表記

s = {i for i in range(10)}

# 作成した集合型の表示

print(s)

以下は、print文で表示した結果です。

0から9までの数字が、集合型で定義されています。

{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

辞書内包表記

2つのリストを内包表記により、辞書型を作成する記述方法です。

上記で紹介した2つの内包表記と少し記述方法が異なります。

なにが異なるかというと、zip関数を使用することです。

zip関数は、2つのリストを要素ごとにタプルで返してくれる関数です。

辞書内包表記の記述方法は、下記の通りです。

リスト meals に食事のタイミングが格納されていて、

リスト foods に食事の種類が格納されています。

meals = ['breakfast', 'lunch', 'dinner']

foods = ['rice', 'ramen', 'sushi']

# 辞書内包表記

d = {meal: food for meal, food in zip(meals, foods)}

# 作成した辞書型を表示

print(d)

以下は、print文で表示した結果です。

リストの要素順に、辞書型で定義されていますね

{'breakfast': 'rice', 'lunch': 'ramen', 'dinner': 'sushi'}

まとめ

内包表記は、コードを簡潔に効率よく記述する方法です。

特に、リスト内包表記と辞書内包表記はよく使用するので、

覚えておくと便利です

積極的に使用していきましょう!

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

エンジニア。20代。組み込みエンジニアとして働き始めるも、働き方や業務内容に限界を感じ、 AI,Web3エンジニアを目指して勉強中。 エンジニアとして思うことや、学んだことを発信します。

目次