Pythonでリスト内の「K」との距離が近くない要素を抽出するプログラム
リストの中から、指定した値「K」との加算・減算結果がリスト内に存在しない要素、すなわち「K以外の遠方の要素」を抽出したいケースがあります。このような処理は、シンプルな反復処理(forループ)と append メソッドを組み合わせることで簡単に実現できます。
サンプルコード
以下に実際の実装例を示します。
my_list = [91, 13, 19, 25, 35, 3, 9, 11, 0]
print("The list is :")
print(my_list)
my_key = 2
print("The key is ")
print(my_key)
my_result = []
for element in my_list:
if element + my_key not in my_list and element - my_key not in my_list:
my_result.append(element)
print("The resultant list is :")
print(my_result)出力結果
The list is : [91, 13, 19, 25, 35, 3, 9, 11, 0] The key is 2 The resultant list is : [91, 19, 25, 35, 3, 0]
処理の解説
まず、対象となるリストを定義し、コンソールに表示します。
次に、判定の基準となるキー値(ここでは 2)を定義して表示します。
結果を格納するための空のリストを用意します。
元のリストを順番に走査し、各要素について「要素 + キー」および「要素 − キー」がリスト内に存在するかどうかを確認します。
どちらも存在しない場合、その要素は条件を満たす「遠方の要素」とみなし、結果リストに追加します。
最後に、結果として得られたリストをコンソールに出力します。
補足:リスト内包表記を使った簡潔な書き方
同じ処理は、リスト内包表記を使うことでより簡潔に記述することもできます。
my_result = [element for element in my_list
if element + my_key not in my_list
and element - my_key not in my_list]この方法であれば、コードが1行にまとまり、可読性も向上します。用途やチームのコーディング規約に応じて、使いやすい方を選択するとよいでしょう。
-
リスト内の要素の合計を求める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):