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

辞書で2番目に大きい値を見つけるPythonプログラム


この記事では、以下に示す問題ステートメントの解決策について学習します。

問題の説明 − 2つの整数が与えられているので、辞書に2番目に大きい値を出力する必要があります

それでは、以下の実装の概念を見てみましょう-

アプローチ1-負のインデックスによるsorted()関数の使用

#input
example_dict ={"tutor":3, "tutorials":15,
"point":9,"tutorialspoint":19}
# sorting the given list and get the second last element
print(list(sorted(example_dict.values()))[-2])

出力

15
アプローチ2-ここでは、リストで並べ替え方法を使用してから、2番目に大きい要素にアクセスします
list1 = [11,22,1,2,5,67,21,32]
# using built-in sort method
list1.sort()
# second last element
print("Second largest element in the list is:", list1[-2])

出力

Second largest element in the list is: 32

アプローチ3-ここでは、組み込み関数を使用せずにブルートフォース方式を適用します

list1 = [11,22,1,2,5,67,21,32]
#assuming max_ is equal to maximum of element at 0th and 1st index
and secondmax is the minimum among them
max_=max(list1[0],list1[1])
secondmax=min(list1[0],list1[1])
for i in range(2,len(list1)):
   # if found element is greater than max_
   if list1[i]>max_:
      secondmax=max_
      max_=list1[i]
   #if found element is greator than secondmax
   else:
      if list1[i]>secondmax:
         secondmax=list1[i]
print("Second highest number is the list is : ",str(secondmax))

出力

Second highest number is the list is : 32

結論

この記事では、辞書で2番目に大きい値を見つける方法について学びました。


  1. 配列内の最大の要素を見つけるPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、配列の最大要素を計算する必要があります。 ここでは、ループ全体をトラバースして最大の要素を計算し、要素を取得するブルートフォースアプローチを使用します。 以下の実装を観察できます。 例 # largest function def largest(arr,n):    #maximum element    max = arr[0]    # traverse the whole loop    for

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

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