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

ネストされたリストから2番目に低い学年の生徒の名前をすべて表示するPythonプログラム


ネストされたリストに各生徒の名前と成績があるとすると、2番目に成績が低い生徒の名前を表示する必要があります。 2番目に低い学年の生徒が複数いる場合は、アルファベット順に並べ替えて、それぞれの名前を新しい行に印刷します。

したがって、入力が学生のようである場合=[['Amal'、37]、['Bimal'、37]、['Tarun'、36]、['Akash'、41]、['Himadri'、39]] 、出力はAmalになり、Bimalはどちらもスコア37が2番目に低く、アルファベット順に配置されます。

これを解決するには、次の手順に従います-

  • min_mark:=学生のすべてのxのスコアの最小値
  • 学生:=スコアが> min_markの場合、学生のすべてのxに対する学生xのリスト
  • min2_mark:=学生のすべてのxのスコアの最小値
  • 学生:=リストを並べ替える[xのスコアが同じ場合は学生のすべてのxにxの名前を付けて
  • min2_mark]
  • 生徒のxごとに、
    • 表示x

理解を深めるために、次の実装を見てみましょう

def solve(students):
   min_mark = min(x[1] for x in students)
   students = [x for x in students if x[1] > min_mark]
   min2_mark = min(x[1] for x in students)
   students = sorted([x[0] for x in students if x[1] == min2_mark])
   for x in students:
      print(x)

students = [['Amal',37],['Bimal',37],['Tarun',36],['Akash',41],['Himadri',39]]
solve(students)

入力

[['Amal',37],['Bimal',37],['Tarun',36],['Akash',41],['Himadri',39]]

出力

Amal
Bimal

  1. リストから一意の値を出力するPythonプログラム

    リストが与えられた場合、私たちのタスクはすべての一意の番号を印刷することです。 例 Input:A = [1, 2, 3, 4, 2, 1, 9] Unique list is [1, 2, 3, 4, 9] アルゴリズム Step 1: Create user input list. Step 2: Create an empty list. Step 3: Traverse all elements in the list. Step 4: Check the unique element is present or not. Step 5: Append unique element o

  2. リストのすべてのサブリストを出力するPythonプログラム。

    リストを指定して、リストのすべてのサブリストを印刷します。 例- Input : list = [1, 2, 3] Output : [], [1], [1, 2], [1, 2, 3], [2], [2, 3], [3]] アルゴリズム Step 1 : given a list. Step 2 : take one sublist which is empty initially. Step 3 : use one for loop till length of the given list. Step 4 : Run a loop from i+1 to length of th