PythonでタプルのリストからKで割り切れる要素だけを持つタプルを抽出する方法
特定の値 K で割り切れる要素だけを持つタプルをリストから見つけたい場合、Pythonのリスト内包表記と組み込み関数 all() を組み合わせると、簡潔かつ効率的に実現できます。
以下に具体的な実装例を示します。
サンプルコード
my_list = [(45, 90, 135), (71, 92, 26), (2, 67, 98)]
print("The list is : ")
print(my_list)
K = 45
print("The value of K has been initialized to ")
print(K)
my_result = [sub for sub in my_list if all(ele % K == 0 for ele in sub)]
print("Elements divisible by K are : " + str(my_result))
実行結果
The list is : [(45, 90, 135), (71, 92, 26), (2, 67, 98)] The value of K has been initialized to 45 Elements divisible by K are: [(45, 90, 135)]
コードの解説
まず、複数のタプルを含むリスト
my_listを定義し、コンソールに表示します。次に、割り切れるかどうかを判定する基準となる値
Kを定義し、こちらもコンソールに表示します。リスト内包表記を使って、リスト内の各タプル(
sub)を順番に取り出して処理します。条件式の部分では、
all(ele % K == 0 for ele in sub)によって、タプル内のすべての要素が K で割り切れるかどうかをチェックしています。すべての要素が K の倍数であるタプルだけが新しいリストの要素として採用され、結果が変数
my_resultに格納されます。最後に、抽出された結果をコンソールに出力します。
ポイント
この例では K = 45 であるため、(45, 90, 135) のすべての要素は 45 で割り切れますが、(71, 92, 26) や (2, 67, 98) は割り切れない要素を含むため除外されます。
なお、all() の代わりに any() を使えば、「一つでも K で割り切れる要素を含むタプル」を抽出することも可能です。用途に応じて使い分けると便利です。
-
リスト内の要素の合計を求めるPythonプログラム
この記事では、Pythonを使ってリスト内のすべての要素の合計を求める方法について、具体的なコード例とともに解説します。問題の定義リストが入力として与えられたとき、そのリストに含まれるすべての要素の合計値を計算する必要があります。例えば、[1, 2, 3, 4, 5]というリストが与えられた場合、出力は 15(1+2+3+4+5)となります。この問題を解くためのアプローチは主に2つあります。1つは組み込み関数を使用する方法、もう1つはブルートフォース(総当たり)方式でループ処理を行う方法です。方法1:組み込み関数 sum() を使うPythonには標準で用意されている組み込み関数 sum()
-
PythonでリストからN個の最大要素を取得する方法
整数のリストが与えられたとき、その中からN個の大きな要素を取り出して新しいリストとして返すのが、ここでの課題です。本記事では、基本的なループ処理による方法から、Python標準ライブラリを活用した効率的な方法まで、サンプルコードとともに解説します。 例 入力 : [40, 5, 10, 20, 9] N = 2 出力 : [40, 20] アルゴリズム 整数のリストと、取得する要素数Nを受け取ります。 N回のループを実行します。 各ループでリスト内の最大値を探し、新しいリストに格納すると同時に元のリストから削除します。 実装コード def Nnumberele(list1, N):