2017-11-08 10 views
0

私は学校での授業のコードを開発していますが、私の考えではいくつかの異なる配列で最大値を見つける必要があります。かなり簡単ですが、主な問題は、ユーザーが自分のクイズを実行するたびにリストに結果が含まれているため、リストの要素数がわからないことです。たとえば、私のリストが含まれている場合:いくつの要素があるかを知らずに多次元リストの最大値を見つける

main_list=[["Name1",[21,22,25]], 
      ["name2",[26,21,24]], 
      ["name3",[29,21,24]]] 

私のメインプログラムが実行されるたびに、リストに別の要素が追加されます。それが再び実行されたのであれば私のリストにはなるだろう:

main_list=[["Name1",[21,22,25]], 
      ["name2",[26,21]], 
      ["name3",[29,21,24]], 
      ["name4",[21]]] 

ですから、私はそこにあるどのように多くの要素を見ることができないことを参照してください。しかし、私は2次元のリスト(main_list[0][1] + main_list[1][1] + main_list[2][1] etc.)に2番目の要素を加え、それらの中で最大の価値を見出す必要があります。 どうすればいいですか?

+2

こんにちは!あなたの質問をありがとう。あなたが見せているときに、今まで何をしていたのか、特定の問題の答えを見つけ出す方が簡単です:https://stackoverflow.com/help/mcveを参照してください。 –

+0

私はあなたを正しく理解しているかどうかはわかりませんが、 main_listのlのmax(max(l [1])を調べる) 'あなたが望むものかもしれない –

答えて

0

サイズを知らずに配列をループし、最大値で各名前を表す辞書を作成することができます。

main_list=[["Name1",[21,22,25]], 
      ["name2",[26,21,24]], 
      ["name3",[29,21,24]]] 


res = {sub_list[0]: max(sub_list[1]) for sub_list in main_list} 

print (res) 
>>> {'Name1': 25, 'name2': 26, 'name3': 29} 

print (max(res.values())) 
>>> 29 
関連する問題