ধরুন আমাদের একটি ২D লিস্ট আছে যাতে অ্যাথলিটদের তথ্য র্যাঙ্ক, বয়স, উচ্চতা আকারে রয়েছে। প্রতিটি রো ভিন্ন অ্যাথলিটের তথ্য ধারণ করে। আমাদের আরেকটি সংখ্যা k আছে। আমাদের ডেটাটিকে k-তম অ্যাট্রিবিউট অনুযায়ী সর্ট করতে হবে।
উদাহরণস্বরূপ, যদি ইনপুট হয়:
| Rank | age | height |
|---|---|---|
| 1 | 25 | 190 |
| 2 | 35 | 180 |
| 3 | 33 | 185 |
| 4 | 26 | 175 |
| 5 | 35 | 180 |
এবং k = 1।
তবে আউটপুট হবে:
| Rank | age | height |
|---|---|---|
| 1 | 25 | 190 |
| 4 | 26 | 175 |
| 3 | 33 | 185 |
| 2 | 35 | 180 |
| 5 | 35 | 180 |
[[1, 25, 190], [4, 26, 175], [3, 33, 185], [2, 35, 180], [5, 35, 180]]
সমাধানের ধাপসমূহ
- ২D অ্যারে
infoএর জন্যsort()ফাংশন কল করুন - একটি ফাংশন ডিফাইন করুন যা
k-তম আর্গুমেন্ট অনুযায়ী সর্ট করে এবং এটিsort()-এরkeyপ্যারামিটারে পাস করুন
উদাহরণ
নিচের ইমপ্লিমেন্টেশনটি দেখুন ভালো বুঝার জন্য:
def solve(info, k):
info.sort(key=lambda x: x[k])
return info
info = [[1, 25, 190], [2, 35, 180], [3, 33, 185], [4, 26, 175], [5, 35, 180]]
k = 1
print(solve(info, k))
ইনপুট
[[1, 25, 190],[2, 35, 180],[3, 33, 185],[4, 26, 175],[5, 35, 180]], 1
আউটপুট
[[1, 25, 190], [4, 26, 175], [3, 33, 185], [2, 35, 180], [5, 35, 180]]