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

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

สมมติว่าเรามีรายการ 2 มิติที่เก็บข้อมูลนักกีฬา ได้แก่ อันดับ อายุ ส่วนสูง แต่ละแถวเป็นข้อมูลของนักกีฬาแต่ละคน เรายังมีตัวเลข k อีกตัวหนึ่ง เราต้องจัดเรียงข้อมูลตามแอตทริบิวต์ที่ k

ตัวอย่างข้อมูลนักกีฬา:

RankAgeHeight
125190
235180
333185
426175
535180

ถ้า k = 1 (อายุ) ผลลัพธ์จะเป็น:

RankAgeHeight
125190
426175
333185
235180
535180

ขั้นตอนการแก้ปัญหา

  • เรียกฟังก์ชัน sort() สำหรับอาเรย์ 2 มิติ info
  • กำหนดฟังก์ชันที่จัดเรียงตามอาร์กิวเมนต์ที่ k แล้วส่งให้พารามิเตอร์ key ของ 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]]