Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình Python sắp xếp list theo phần tử thứ hai trong sublist


Cho một list, nhiệm vụ sắp xếp list theo phần tử thứ hai trong sublist. Ở đây áp dụng bubble sort đơn giản.

Ví dụ

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

Thuật toán

Bước 1: Cho một list.
Bước 2: Truy cập phần tử thứ hai của sublist bằng vòng lặp lồng.
Bước 3: Duyệt qua tất cả phần tử mảng.
Bước 4: i phần tử cuối đã ở đúng vị trí.
Bước 5: Duyệt mảng từ 0 đến n-i-1.
Bước 6: Hoán đổi nếu phần tử hiện tại lớn hơn phần tử tiếp theo.

Ví dụ mã

# Chương trình Python sắp xếp list theo phần tử thứ hai của sublist
# Cách sắp xếp in-place, dùng biến thứ ba.
def sortlist(A):
    l = len(A)
    for i in range(0, l):
        for j in range(0, l-i-1):
            if (A[j][1] > A[j + 1][1]):
                tempo = A[j]
                A[j] = A[j + 1]
                A[j + 1] = tempo
    return A

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

Kết quả

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