मान लीजिए हमारे पास एथलीट्स के बारे में जानकारी वाली एक 2D सूची है। यह जानकारी रैंक, आयु, ऊंचाई है। प्रत्येक पंक्ति में अलग-अलग एथलीट्स की जानकारी होती है। हमारे पास एक और संख्या k भी है। हमें kth एट्रिब्यूट के आधार पर डेटा को सॉर्ट करना है।
उदाहरण के लिए, यदि इनपुट है:
| रैंक | आयु | ऊंचाई |
|---|---|---|
| 1 | 25 | 190 |
| 2 | 35 | 180 |
| 3 | 33 | 185 |
| 4 | 26 | 175 |
| 5 | 35 | 180 |
और k = 1 है।
तो आउटपुट होगा:
| रैंक | आयु | ऊंचाई |
|---|---|---|
| 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]]
समाधान दृष्टिकोण
इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे:
- info नामक 2D ऐरे के लिए sort() फंक्शन कॉल करें
- एक फंक्शन परिभाषित करें जो kth आर्गुमेंट के आधार पर सॉर्ट करता है और इसे 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]]