Python でリストの最大値を取得する方法

Rayven Esplanada 2023年1月30日
  1. Python のリストで for ループを使用して最大値を取得する
  2. Python のリストで max() 関数を使用して最大値を取得する
  3. Python でネストされたリストから最大値を取得する
Python でリストの最大値を取得する方法

このチュートリアルでは、Python でリストの最大値を取得する方法を説明します。

単純な整数リストから、配列内の配列のようなより複雑な構造まで、いくつかのシナリオとデータ型をカバーします。

Python のリストで for ループを使用して最大値を取得する

Python の for ループを使用すると、配列の各値を比較して最大値を変数に格納することでリストの最大値を取得することができます。

例えば、乱数整数の配列を宣言して最大値を出力してみましょう。また、変数 max_value を宣言して最大値を格納し、ループ終了後に出力します。

numbers = [55, 4, 92, 1, 104, 64, 73, 99, 20]

max_value = None

for num in numbers:
    if max_value is None or num > max_value:
        max_value = num

print("Maximum value:", max_value)

出力:

Maximum value: 104

出力をさらに操作するために最大値のインデックスが必要な場合は、Python 関数 enumerate を使用するだけです。これにより、for ループはループの現在の反復のインデックスを示す 2 番目の引数を受け入れることができます。

最大値のインデックスを格納するための新しい変数 max_idx を追加します。

numbers = [55, 4, 92, 1, 104, 64, 73, 99, 20]

max_value = None
max_idx = None

for idx, num in enumerate(numbers):
    if max_value is None or num > max_value:
        max_value = num
        max_idx = idx

print("Maximum value:", max_value, "At index: ", max_idx)

出力:

Maximum value: 104 At index: 4

Python のリストで max() 関数を使用して最大値を取得する

Python にはリストの最大値を返す max() という定義済みの関数があります。

max() を使用して最大値を取得するには、1 行しか必要ありません。

numbers = [55, 4, 92, 1, 104, 64, 73, 99, 20]

max_value = max(numbers)
print("Maximum value:", max_value)

出力:

Maximum value: 104

最大値のインデックスが必要な場合は、Python のリストに組み込まれた index() 関数を呼び出すことができます。この関数は配列内の指定された要素のインデックスを返します。

numbers = [55, 4, 92, 1, 104, 64, 73, 99, 20]

max_value = max(numbers)
print("Maximum value:", max_value, "At index:", arr.index(max_value))

出力:

Maximum value: 104 At index: 4

max() 関数を使用して、文字列と辞書のリストから最大値を取得する

関数 max() は文字列のリストと Python のデータ型辞書もサポートしています。

文字列のリストに対して、関数 max() はアルファベット順に最大の要素を返します。文字 Z が最大値、A が最小値となります。

strings = ["Elephant", "Kiwi", "Gorilla", "Jaguar", "Kangaroo", "Cat"]

max_value = max(strings)
print("Maximum value:", max_value, "At index:", strings.index(max_value))

出力:

Maximum value: Kiwi At index: 1

Python でネストされたリストから最大値を取得する

もっと複雑な例は、Python で入れ子になったリストの最大値を求めることです。

まず、入れ子になったリストにランダムな値を宣言してみましょう。

nst = [[1001, 0.0009], [1005, 0.07682], [1201, 0.57894], [1677, 0.0977]]

この入れ子リストから、入れ子リストの 2 番目の要素の最大値を取得したいと思います。また、1 番目の要素をプリントアウトしてインデックスとして扱いたい。入れ子になったリストは、リスト内のキーと値のペアのように扱われます。

この複雑な構造体の最大値を求めるには、関数 max() をオプションの引数 key と一緒に使うことができます。

nst = [[1001, 0.0009], [1005, 0.07682], [1201, 0.57894], [1677, 0.0977]]

idx, max_value = max(nst, key=lambda item: item[1])

print("Maximum value:", max_value, "At index:", idx)

引数 key はラムダ関数を受け入れ、関数 max() がキーと値のペアを返すことを可能にします。

出力:

Maximum value: 0.57894 At index: 1201

要約すると、このチュートリアルでは Python で様々なタイプのリストの中から最大値を求める方法について説明しました。関数 max() とその異なる引数についての詳細はこちらを参照してください。max() の他にも、min()all()any() のような Python のイテレーションを操作する組み込み関数があります。

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

関連記事 - Python List