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

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行のコードで最大値・最小値の両方の位置を効率的に取得できます。

  1. 【Python入門】リスト内で2番目に大きい数値を見つける3つの方法

    はじめに この記事では、Pythonを使ってリスト内の2番目に大きい数値(次に大きい値)を見つける方法を、3つの異なるアプローチで解説します。初心者にもわかりやすいように、各手法の考え方・サンプルコード・実行結果を順番に紹介していきます。 問題の定義 問題: 与えられたリストの中から、2番目に大きい数値を求めて表示してください。 例えば [11, 22, 1, 2, 5, 67, 21, 32] というリストが与えられた場合、最大値は67なので、答えは 32 となります。 アプローチ1:set()関数とremove()関数を使う方法 まず、set() を使ってリストから重複する要素を取り除

  2. 【Python】リストから最大値・最小値・2番目に大きい値・2番目に小さい値を求める方法

    この記事では、Pythonを使ってリスト(配列)の中から最大値、最小値、2番目に大きい値(second largest)、2番目に小さい値(second smallest)を一度に見つけるプログラムを解説します。ソートを行わずに1回のループで処理できるのがポイントです。アルゴリズム全体の流れは以下の3ステップです。ステップ1:リストの要素を入力する ステップ2:各要素を取り出し、リスト内の他の数値と順に比較する ステップ3:最大値・最小値・2番目に大きい値・2番目に小さい値を取得して表示するサンプルコード# リスト内の最大値・最小値・2番目に大きい値・2番目に小さい値を求める def maxm