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 list, nhiệm vụ sắp xếp theo phần tử thứ hai trong sublist. 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 nested loops.
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 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]]