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

Pythonでリスト内の偶数と奇数を2つの異なるリストに振り分ける方法

Pythonでは、1つのリストに含まれる偶数と奇数を、それぞれ別のリストへ分けて格納することができます。最もシンプルな方法は、空のリストを2つ用意し、剰余演算子(%)を使って各要素が偶数か奇数かを判定しながら振り分けていくアプローチです。

以下に具体的な実装例を示します。

サンプルコード

def split_list(my_list):
    even_list = []
    odd_list = []
    for i in my_list:
        if (i % 2 == 0):
            even_list.append(i)
        else:
            odd_list.append(i)
    print("偶数のリスト :", even_list)
    print("奇数のリスト :", odd_list)

my_list = [2, 5, 13, 17, 51, 62, 73, 84, 95]
print("元のリスト")
print(my_list)
split_list(my_list)

実行結果

元のリスト
[2, 5, 13, 17, 51, 62, 73, 84, 95]
偶数のリスト : [2, 62, 84]
奇数のリスト : [5, 13, 17, 51, 73, 95]

コードの解説

  • まず、リストを引数として受け取る split_list という関数を定義します。

  • 関数内では、偶数用と奇数用の2つの空リスト(even_listodd_list)を用意します。

  • forループで引数のリストを順番に走査し、剰余演算子「%」を使って各要素を2で割った余りを確認します。

  • 余りが0であれば偶数として最初のリストに追加し、それ以外は奇数としてもう一方のリストに追加します。

  • 関数の外側でサンプルのリストを定義し、そのリストを引数として関数を呼び出します。

  • 最終的に、振り分けられた2つのリストがコンソールに出力されます。

補足:リスト内包表記を使った簡潔な書き方

同じ処理は、リスト内包表記を使うことでより簡潔に記述することもできます。

my_list = [2, 5, 13, 17, 51, 62, 73, 84, 95]

even_list = [x for x in my_list if x % 2 == 0]
odd_list = [x for x in my_list if x % 2 != 0]

print("偶数のリスト :", even_list)
print("奇数のリスト :", odd_list)

このように、条件分岐による振り分け処理は初心者にとって理解しやすい基本テクニックであり、データの分類やフィルタリングなど、さまざまな場面で応用できます。

  1. 【Python】2つのリスト間の欠落している値と追加されている値を見つける方法

    集合論において、ある集合Aの「補集合」とは、Aに含まれない要素を指します。また、集合Bに対するAの「相対補集合」は、集合AとBの「差(difference)」とも呼ばれます。本記事では、この原理を応用し、Pythonで2つのリストを比較することで、互いに欠落している要素と余分な要素を効率よく見つける方法を解説します。Pythonのset型には差分を求めるためのdifference()メソッドが標準で用意されており、これを使うと非常にシンプルに実装できます。 アルゴリズム ユーザー入力から2つのリストAとBを作成します。 AとBをそれぞれセット(set型)に変換します。 1つ目のリストに欠落し

  2. 【初心者向け】Pythonで2つのリストの差分(違い)を抽出する方法を解説

    この記事では、2つのリストが与えられたときに、その差分(違い)を表示するPythonプログラムを紹介します。Pythonにはset()メソッドが用意されており、ここではこのメソッドを活用します。 セット(集合)とは、重複する要素を持たない順序なしのコレクションです。セットオブジェクトは、和集合・積集合・差集合・対称差といった数学的な操作もサポートしているため、リスト同士の比較に非常に便利です。 実行例 入力: A = [10, 15, 20, 25, 30, 35, 40] B = [25, 40, 35] 出力: [10, 20, 30, 15] 考え方 求めたい差分リストは、次のよう