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

Pythonのタプルのリストで最大値を持つ最初の要素を取得します


タプルのリストがあります。その中で最大値であったタプルを見つける必要があります。ただし、複数のタプルが同じ値を持つ場合は、最大値を持つ最初のタプルが必要です。

itemgetterとmaxを使用

itemgetter(1)を使用して、インデックス位置1からすべての値を取得し、max関数を適用して最大値のアイテムを取得します。ただし、複数の結果が返される場合は、インデックスゼロを適用して、最大要素を含む最初のタプルを取得します。

from operator import itemgetter
# initializing list
listA = [('Mon', 3), ('Tue', 20), ('Wed', 9)]
# Given list
print("Given list : \n" ,listA)
# using max() and itemgetter()
res = max(listA, key=itemgetter(1))[0]
# printing result
print("Day with maximum score is : \n",res)

出力

上記のコードを実行すると、次の結果が得られます-

Given list :
[('Mon', 3), ('Tue', 20), ('Wed', 9)]
Day with maximum score is :
Tue

maxとlambdaを使用

ラムダ関数を使用してインデックス位置1の要素を取得し、max関数を適用します。次に、インデックス位置0を適用して、複数の一致のうち最初の一致を取得し、最終結果を取得します。

# initializing list
listA = [('Mon', 3), ('Tue', 20), ('Wed', 9)]
# Given list
print("Given list : \n" ,listA)
# using max() and lambda
res = max(listA, key = lambda i : i[1])[0]
# printing result
print("Day with maximum score is : \n",res)

出力

上記のコードを実行すると、次の結果が得られます-

Given list :
[('Mon', 3), ('Tue', 20), ('Wed', 9)]
Day with maximum score is :
Tue

並べ替えあり

このアプローチでは、ラムダ関数を適用するときに、真の条件に等しい逆のソートされた関数を使用します。

# initializing list
listA = [('Mon', 3), ('Tue', 20), ('Wed', 9)]
# Given list
print("Given list : \n" ,listA)
# using sorted() and lambda
res = sorted(listA, key = lambda i: i[1], reverse = True)[0][0]
# printing result
print("Day with maximum score is : \n",res)

出力

上記のコードを実行すると、次の結果が得られます-

Given list :
[('Mon', 3), ('Tue', 20), ('Wed', 9)]
Day with maximum score is :
Tue

  1. Python-Kより大きい最初の要素のインデックスを取得します

    Pythonリストの項目の値は、必ずしもソートされた順序である必要はありません。さらに、特定の値よりも大きい特定の値のみに関心がある場合もあります。この記事では、どのように入手できるかを見ていきます 列挙の使用 列挙を使用して、リスト内の要素のインデックスと値の両方を取得します。次に、大なり記号を適用して、条件が満たされる最初の要素のみを取得します。次の関数は、各リスト要素を1つずつ調べます。 例 List = [21,10,24,40.5,11] print("Given list: " + str(List)) #Using next() + enumerate()

  2. 最大値を持つPythonリストから要素を見つける方法は?

    最大値の要素を見つけるには、リストを引数としてmax()関数を呼び出す必要があります。 max関数は、リストを繰り返し処理して、最後に到達するまで検出した最大値を追跡します。次に、この値を返します。 例 my_list = [2, 3, 1, 5, -1] print(max(my_list)) 出力 これにより、出力が得られます- 5 インデックスとmax要素が発生したすべての場所も必要な場合は、enumerateメソッドを使用できます。 enumerateメソッドは、最初のインデックスにインデックスがあり、2番目にオブジェクトがあるオブジェクトのタプルを作成します。 例 my_list