ধরুন আমাদের প্রতিটি ছাত্রের নাম এবং গ্রেড একটি নেস্টেড লিস্টে আছে। আমাদের সেকেন্ড লো웨স্ট গ্রেড পাওয়া ছাত্রদের নাম দেখাতে হবে। যদি একাধিক ছাত্রের সেকেন্ড লো웨স্ট গ্রেড থাকে, তবে সেগুলোকে অ্যালফাবেটিক্যাল অর্ডারে সর্ট করে প্রতিটি নাম নতুন লাইনে প্রিন্ট করতে হবে।
উদাহরণস্বরূপ, যদি ইনপুট students = [['Amal',37],['Bimal',37],['Tarun',36],['Akash',41],['Himadri',39]] হয়, তবে আউটপুট হবে Amal, Bimal উভয়ের সেকেন্ড লোवेस्ट স্কোর ৩৭, অ্যালফাবেটিক্যাল অর্ডারে।
সমাধানের ধাপসমূহ
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])- প্রতিটি
xইনstudentsপ্রিন্ট করুন
উদাহরণ
নিচের ইমপ্লিমেন্টেশনটি দেখুন ভালো বুঝার জন্য:
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