Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python เพื่อจัดเรียงตารางตามดัชนีแอตทริบิวต์ที่กำหนด


สมมติว่าเรามีรายการ 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]]

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • เรียกใช้ฟังก์ชัน sort() สำหรับอาร์เรย์ 2d ที่เรียกว่า info

  • กำหนดหนึ่งฟังก์ชันที่เรียงลำดับตามอาร์กิวเมนต์ kth และส่งผ่านไปยังพารามิเตอร์คีย์ของฟังก์ชัน sort()

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น

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]]