Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python入門】リスト内包表記でシーケンスを簡単に生成する方法

Pythonでシーケンス(数列)を生成したいときに便利なのがリスト内包表記です。リスト内包表記は、ごく短いコードで効率的にシーケンスを作り出せる、Pythonならではの強力な構文です。

0から始まる100個の整数リストを生成する

たとえば、0から始まる最初の100個の整数を取得したい場合は、次のように書きます。

a = [i for i in range(100)]
print(a)

出力結果

実行すると以下のような出力が得られます(途中は省略)。

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ..., 97, 98, 99]

偶数の平方数リストを生成する

「最初の10個の偶数の2乗」を求めたい場合は、if句で条件を追加するだけで実現できます。

a = [i * i for i in range(20) if i % 2 == 0]
print(a)

出力結果

[0, 4, 16, 36, 64, 100, 144, 196, 256, 324]

このコードでは、range(20)で0〜19の数値を順番に取り出し、i % 2 == 0という条件で偶数だけを抽出し、それぞれをi * iで2乗しています。このように、ループと条件分岐を1行にまとめられるのがリスト内包表記の魅力です。

まとめ

リスト内包表記を使いこなせるようになると、コードが大幅に簡潔になり、可読性や実行効率も向上します。まずはrange()との組み合わせや条件式の使い方から慣れていくとよいでしょう。慣れてくれば、ネストしたループやより複雑な条件処理など、さらに高度なシーケンス生成にも応用できます。

  1. Pythonで画面(コンソール)をクリアする方法を解説

    Pythonでプログラムを実行していると、大量の出力によって画面が埋め尽くされ、表示を整理するために画面をクリアしたくなる場面があります。 対話型シェル(REPL)であれば、Control + L を押すだけで簡単に画面をクリアできます。しかし、プログラムの出力量や表示のフォーマットに応じて、スクリプトの中から動的に画面をクリアしたいケースもあります。そのような場合は、Pythonスクリプト内に画面クリア用のコマンドを組み込む必要があります。 osモジュールのsystem()関数を使う Pythonで画面をクリアするには、標準ライブラリの os モジュールが提供する system() 関数を使

  2. Pythonでバイトコード(.pyc)ファイルを生成する4つの方法を徹底解説

    Pythonのバイトコード(.pyc)ファイルとは? Pythonは、プログラムを実行する前に、ソースコードを自動的にコンパイルし、「バイトコード」と呼ばれる中間形式のコードへと変換します。 モジュールを初めてインポートしたとき、あるいはソースファイルが新規作成・更新されたときにコンパイルが行われ、その結果として.pycファイルが生成されます。Python 3以降では、.pyファイルと同じディレクトリではなく、__pycache__というサブディレクトリ内に作成される点に注意してください。 この仕組みは時間の節約のためのもので、次回以降に同じプログラムを実行するとき、Pythonはコンパイルの