Pythonでリスト内の最大値・最小値の位置を見つける方法
Pythonでは、リスト内の最大値や最小値を求めるのが非常に簡単で、それらの位置(インデックス)も簡単に取得できます。Pythonには便利な組み込み関数が用意されており、min()はリスト内の最小値を求め、max()はリスト内の最大値を求めます。さらに、index()を使えば特定の要素のインデックス(位置)を調べることができます。
アルゴリズム
maxminposition(A, n)
/* Aはユーザーが入力したリスト、nはリストのサイズ */
ステップ1:組み込み関数を使って最小要素の位置を求める
A.index(min(A))
ステップ2:組み込み関数を使って最大要素の位置を求める
A.index(max(A))
サンプルコード
# リスト内の最小値と最大値の位置を求める関数
def maxminposition(A, n):
# 組み込み関数で最小値の位置を取得
minposition = A.index(min(A))
# 組み込み関数で最大値の位置を取得
maxposition = A.index(max(A))
print ("The maximum is at position::", maxposition + 1)
print ("The minimum is at position::", minposition + 1)
# ドライバーコード
A=list()
n=int(input("Enter the size of the List ::"))
print("Enter the Element ::")
for i in range(int(n)):
k=int(input(""))
A.append(k)
maxminposition(A,n)
実行結果
Enter the size of the List ::4 Enter the Element:: 12 34 1 66 The maximum is at position:: 4 The minimum is at position:: 3
ポイント解説
A.index(min(A))は、まずmin(A)でリスト内の最小値を取得し、続いてindex()でその値が最初に現れる位置を返します。Pythonのインデックスは0から始まるため、コードでは出力時に「+1」をして、人間にとって直感的な「1番目からの位置」として表示しています。
また、同じ値がリスト内に複数存在する場合、index()は最初に出現した位置のみを返す点にも注意が必要です。この方法なら、ソートなどの追加処理を行わずに、わずか2行のコードで最大値・最小値の両方の位置を効率的に取得できます。
-
【Python入門】リスト内で2番目に大きい数値を見つける3つの方法
はじめに この記事では、Pythonを使ってリスト内の2番目に大きい数値(次に大きい値)を見つける方法を、3つの異なるアプローチで解説します。初心者にもわかりやすいように、各手法の考え方・サンプルコード・実行結果を順番に紹介していきます。 問題の定義 問題: 与えられたリストの中から、2番目に大きい数値を求めて表示してください。 例えば [11, 22, 1, 2, 5, 67, 21, 32] というリストが与えられた場合、最大値は67なので、答えは 32 となります。 アプローチ1:set()関数とremove()関数を使う方法 まず、set() を使ってリストから重複する要素を取り除
-
【Python】リストから最大値・最小値・2番目に大きい値・2番目に小さい値を求める方法
この記事では、Pythonを使ってリスト(配列)の中から最大値、最小値、2番目に大きい値(second largest)、2番目に小さい値(second smallest)を一度に見つけるプログラムを解説します。ソートを行わずに1回のループで処理できるのがポイントです。アルゴリズム全体の流れは以下の3ステップです。ステップ1:リストの要素を入力する ステップ2:各要素を取り出し、リスト内の他の数値と順に比較する ステップ3:最大値・最小値・2番目に大きい値・2番目に小さい値を取得して表示するサンプルコード# リスト内の最大値・最小値・2番目に大きい値・2番目に小さい値を求める def maxm