Pythonでリスト内の偶数と奇数をカウントする3つの方法を解説
この記事では、リスト内に含まれる偶数と奇数の個数を数える方法について、具体的なコード例とともに解説します。
問題の概要
課題: 与えられたリストの中から、偶数と奇数がそれぞれいくつ含まれているかをカウントします。
ここでは、以下の3つのアプローチを紹介します。それぞれ特徴が異なるため、用途やコードの可読性に応じて使い分けるのがおすすめです。
方法1:forループを使った基本的な方法(総当たり方式)
最もシンプルで直感的な方法です。拡張forループで各要素を順番に確認し、2で割った余りによって偶数か奇数かを判定します。
コード例
list1 = [21, 3, 4, 6, 33, 2, 3, 1, 3, 76]
even_count, odd_count = 0, 0
# 拡張forループで要素を走査
for num in list1:
# 偶数の場合
if num % 2 == 0:
even_count += 1
# 奇数の場合
else:
odd_count += 1
print("リスト内の偶数の個数:", even_count)
print("リスト内の奇数の個数:", odd_count)実行結果
リスト内の偶数の個数: 4 リスト内の奇数の個数: 6
方法2:filter()関数とラムダ式を使う方法
関数型プログラミングのスタイルを活かした方法です。filter()とラムダ式を組み合わせることで、条件に合う要素だけを抽出し、その長さから個数を求めます。コードが簡潔になるのが魅力です。
コード例
list1 = [21, 3, 4, 6, 33, 2, 3, 1, 3, 76]
# 奇数を抽出してカウント
odd_count = len(list(filter(lambda x: (x % 2 != 0), list1)))
# 偶数を抽出してカウント
even_count = len(list(filter(lambda x: (x % 2 == 0), list1)))
print("リスト内の偶数の個数:", even_count)
print("リスト内の奇数の個数:", odd_count)実行結果
リスト内の偶数の個数: 4 リスト内の奇数の個数: 6
方法3:リスト内包表記を使う方法
Pythonらしい書き方として人気のあるリスト内包表記を使う方法です。奇数だけを新しいリストに取り出し、その長さを数えます。偶数の個数は「全体の長さ − 奇数の個数」で計算できる点もポイントです。
コード例
list1 = [21, 3, 4, 6, 33, 2, 3, 1, 3, 76]
# 奇数のみを新しいリストに抽出し、その長さを計算
only_odd = [num for num in list1 if num % 2 == 1]
odd_count = len(only_odd)
print("リスト内の偶数の個数:", len(list1) - odd_count)
print("リスト内の奇数の個数:", odd_count)実行結果
リスト内の偶数の個数: 4 リスト内の奇数の個数: 6
まとめ
この記事では、Pythonでリスト内の偶数と奇数をカウントする3つの方法を学びました。
- forループ: 初心者にもわかりやすく、処理の流れが把握しやすい
- filter()+ラムダ式: 関数型的で簡潔なコードが書ける
- リスト内包表記: Pythonらしく、読みやすく効率的
どの方法でも同じ結果が得られますので、コードの目的やチームのコーディングスタイルに合わせて最適な手法を選択しましょう。
-
Pythonで奇数桁と偶数桁の合計の差を判定するプログラム
この記事では、与えられた問題を解決するための解法とアプローチについて詳しく解説します。 問題文 整数が1つ与えられたとき、奇数桁の合計と偶数桁の合計の差が0であるかどうかを判定する必要があります。 素朴なアプローチ(ブルートフォース) 最も単純な方法は、数値を構成するすべての偶数桁と奇数桁の合計をそれぞれ計算し、その差を求めることです。しかし、この方法では各桁を順番に処理するため、桁数に比例した計算時間が必要になります。 効率的なアプローチ:11の倍数判定を活用 計算時間を削減するために、「暗算の数学」でよく知られている性質を利用します。それは「ある整数の奇数桁の合計と偶数桁の合計の差が0にな
-
【Python】約数の個数が偶数か奇数かを判定するプログラムの書き方
この記事では、ある整数の約数の個数が偶数か奇数かを判定するPythonプログラムについて、その考え方と実装方法をわかりやすく解説します。 問題文 ある数「n」が与えられたとき、その約数の総数が偶数であるか奇数であるかを判定してください。 例えば、n = 10 の場合、約数は 1, 2, 5, 10 の4つなので「偶数」。一方、n = 100 の場合は 1, 2, 4, 5, 10, 20, 25, 50, 100 の9つとなり「奇数」となります。 アプローチ:約数を実際に数える 最も基本的な方法は、すべての約数を見つけ、その個数が偶数か奇数かをチェックすることです。 ここで重要なのは、約数