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

โปรแกรม Python เรียงลำดับลิสต์ตามอิลิเมนต์ที่ 2 ใน sublist


เรียงลำดับลิสต์ของ sublist ตามอิลิเมนต์ลำดับที่ 2 (index 1) โดยใช้ bubble sort

ตัวอย่าง

Input: [['CCC',15], ['AAA',10], ['RRRR',2], ['XXXX',150]]
Output: [['RRRR',2], ['AAA',10], ['CCC',15], ['XXXX',150]]

อัลกอริทึม

  1. รับลิสต์
  2. เข้าถึงอิลิเมนต์ที่ 2 ของ sublist ด้วย nested loops
  3. เปรียบเทียบและสลับ (swap) ตาม bubble sort

โค้ดตัวอย่าง

def sortlist(A):
    l = len(A)
    for i in range(l):
        for j in range(l - i - 1):
            if A[j][1] > A[j+1][1]:
                A[j], A[j+1] = A[j+1], A[j]
    return A

A = [['AAA',10], ['CCC',15], ['RRRR',2], ['XXXX',150]]
print(sortlist(A))

ผลลัพธ์

[['RRRR', 2], ['AAA', 10], ['CCC', 15], ['XXXX', 150]]