0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

個人的な備忘録:Pythonのリスト内包表記で偶数リストを抽出し、振り返ってみた

Last updated at Posted at 2025-02-02

はじめに

Pythonには、リスト内包表記(List Comprehension)という便利な構文があります。

これを使うことで、リストの生成や条件を満たす要素の抽出を簡潔に記述できます。

今回、リスト内包表記を使って1から20までの偶数を抽出するコードを実装し、その流れや仕組みを解説します。

書こうと思ったきっかけ

プログラムを書く際、リストのフィルタリング処理をforループとif文の組み合わせで記述することがよくあります。

しかし、Pythonではリスト内包表記を使うことで、簡潔かつ可読性の高いコードを書くことができるため、習得する価値があります。

実際に書いて動作を確認しながら、リスト内包表記の便利さを実感したかったので、このコードを書きました。

完成したコード

test.py
numbers = list(range(1, 21))
even_numbers = [n for n in numbers if n % 2 == 0]
print(even_numbers)

コードの流れ

  • 1から20までの数値を含むリストを作成
  • リスト内包表記を使い、偶数のみを抽出
  • 抽出した偶数リストを出力

実際に実行してみる

まず、以下のコマンドを実行して作成したコードの動作を確認します。

python test.py

実行結果

➜  Desktop git:(main) ✗ python test.py
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

コードの解説

1.1から20までの数値をリストとして作成

numbers = list(range(1, 21))
  • range(1, 21) を使用し、1から20までの連続した整数を生成。
  • list()range オブジェクトをリストに変換。
  • これにより numbers には [1, 2, 3, ..., 20] が格納される。

2.偶数を抽出するリスト内包表記

even_numbers = [n for n in numbers if n % 2 == 0]
  • for n in numbersnumbers の各要素 n を順番に取得。
  • if n % 2 == 0 で偶数のみを抽出(n を2で割った余りが0のもの)。
  • 結果として、even_numbers には [2, 4, 6, ..., 20] が格納される。

3.抽出した偶数リストを出力

print(even_numbers)
  • even_numbers の内容を出力し、リスト内包表記によって偶数のみが抽出されたことを確認。

まとめ

ここまで読んでいただきありがとうございました。リスト内包表記を使うことで、リストの作成とフィルタリング処理をシンプルに記述できることがわかりました。

今後もこのような基礎的な部分については丁寧にまとめていこうと思っています。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?