【Python入門】偶数と奇数の要素を2つのリストに分割する方法
この記事では、ユーザーが入力したリスト(偶数と奇数が混在した要素を含む)を、偶数のみのリストと奇数のみのリストという2つの異なるリストに分割するPythonプログラムを紹介します。
リスト内の各要素を2で割った余りを判定することで、偶数か奇数かを簡単に見分けることができます。これはPythonの条件分岐とループ処理を学ぶのに最適な例題です。
実行例
Input: [1, 2, 3, 4, 5, 9, 8, 6] Output Even lists: [2, 4, 8, 6] Odd lists: [1, 3, 5, 9]
アルゴリズム
プログラムの流れは以下のステップで構成されています。
Step 1 : ユーザーから入力を受け取り、リストを作成する。 Step 2 : 偶数用と奇数用の2つの空のリストを用意する。 Step 3 : 元のリスト内の各要素を順番に走査(トラバース)する。 Step 4 : 各要素を2で割り、余りが0であれば偶数として偶数用リストに追加し、それ以外は奇数として奇数用リストに追加する。
サンプルコード
以下が実際のPythonコードです。剰余演算子 % を使って偶奇を判定し、それぞれのリストに振り分けています。
# Python code to split into even and odd lists
# Funtion to split
def splitevenodd(A):
evenlist = []
oddlist = []
for i in A:
if (i % 2 == 0):
evenlist.append(i)
else:
oddlist.append(i)
print("Even lists:", evenlist)
print("Odd lists:", oddlist)
# Driver Code
A=list()
n=int(input("Enter the size of the First List ::"))
print("Enter the Element of First List ::")
for i in range(int(n)):
k=int(input(""))
A.append(k)
splitevenodd(A)
コードのポイント
- splitevenodd関数: 引数として受け取ったリストAを走査し、
i % 2 == 0が真なら偶数リストへ、偽なら奇数リストへ要素を追加します。 - appendメソッド: リストの末尾に要素を追加するために使用しています。
- ドライバーコード: まずリストのサイズを入力させ、その数だけ要素を入力してリストAを構築し、最後にsplitevenodd関数を呼び出します。
実行結果
Enter the size of the First List :: 8 Enter the Element of First List :: 1 2 3 4 5 9 8 6 Even lists: [2, 4, 8, 6] Odd lists: [1, 3, 5, 9]
このように、入力されたリスト [1, 2, 3, 4, 5, 9, 8, 6] が、偶数リスト [2, 4, 8, 6] と奇数リスト [1, 3, 5, 9] の2つに正しく分割されていることが確認できます。
応用:リスト内包表記を使った簡潔な書き方
Pythonでは、リスト内包表記を使うことで同じ処理をより簡潔に記述することもできます。
def splitevenodd(A):
evenlist = [i for i in A if i % 2 == 0]
oddlist = [i for i in A if i % 2 != 0]
print("Even lists:", evenlist)
print("Odd lists:", oddlist)
初心者のうちはforループとif文を使った基本的な書き方を理解した上で、慣れてきたらリスト内包表記にも挑戦してみると良いでしょう。
-
【Python】2つのリスト間の欠落している値と追加されている値を見つける方法
集合論において、ある集合Aの「補集合」とは、Aに含まれない要素を指します。また、集合Bに対するAの「相対補集合」は、集合AとBの「差(difference)」とも呼ばれます。本記事では、この原理を応用し、Pythonで2つのリストを比較することで、互いに欠落している要素と余分な要素を効率よく見つける方法を解説します。Pythonのset型には差分を求めるためのdifference()メソッドが標準で用意されており、これを使うと非常にシンプルに実装できます。 アルゴリズム ユーザー入力から2つのリストAとBを作成します。 AとBをそれぞれセット(set型)に変換します。 1つ目のリストに欠落し
-
【初心者向け】Pythonで2つのリストの差分(違い)を抽出する方法を解説
この記事では、2つのリストが与えられたときに、その差分(違い)を表示するPythonプログラムを紹介します。Pythonにはset()メソッドが用意されており、ここではこのメソッドを活用します。 セット(集合)とは、重複する要素を持たない順序なしのコレクションです。セットオブジェクトは、和集合・積集合・差集合・対称差といった数学的な操作もサポートしているため、リスト同士の比較に非常に便利です。 実行例 入力: A = [10, 15, 20, 25, 30, 35, 40] B = [25, 40, 35] 出力: [10, 20, 30, 15] 考え方 求めたい差分リストは、次のよう