ধরুন আমাদের একটি নেস্টেড তালিকায় প্রতিটি শিক্ষার্থীর নাম এবং গ্রেড রয়েছে আমাদের দ্বিতীয় সর্বনিম্ন গ্রেড থাকা যেকোনো শিক্ষার্থীর নাম প্রদর্শন করতে হবে। যদি দ্বিতীয় সর্বনিম্ন গ্রেডের একাধিক ছাত্র থাকে, তাহলে এগুলিকে বর্ণানুক্রমিক ক্রমে সাজান এবং প্রতিটি নাম একটি নতুন লাইনে প্রিন্ট করুন৷
সুতরাং, যদি ইনপুট ছাত্রদের মত হয় =[['অমল',37],['বিমল',37],['তরুণ',36],['আকাশ',41],['হিমাদ্রী',39]] ,তাহলে আউটপুট হবে অমল, বিমল উভয়েরই দ্বিতীয় সর্বনিম্ন স্কোর ৩৭, তারা বর্ণানুক্রমিকভাবে স্থাপন করা হয়।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- min_mark :=ছাত্রদের সকল x এর জন্য ন্যূনতম স্কোর
- ছাত্ররা:=ছাত্রদের একটি তালিকা x সব ছাত্রের জন্য x যদি স্কোর> min_mark হয়
- min2_mark :=ছাত্রদের সকল 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