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

Chương trình Python sắp xếp bảng dữ liệu 2D theo cột chỉ định


Cho mảng 2 chiều info (mỗi hàng là một vận động viên với các thuộc tính: Rank, age, height) và chỉ số cột k. Sắp xếp các hàng theo giá trị ở cột k tăng dần.

Ví dụ: k = 1 (cột age) sẽ sắp xếp theo tuổi.

Cách làm

Sử dụng phương thức list.sort(key=...) với hàm lambda lấy phần tử thứ k của mỗi hàng.

Ví dụ mã nguồn

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], [4, 26, 175], [3, 33, 185], [2, 35, 180], [5, 35, 180]]

Đầu vào / Đầu ra

Input:  [[1, 25, 190],[2, 35, 180],[3, 33, 185],[4, 26, 175],[5, 35, 180]], 1
Output: [[1, 25, 190], [4, 26, 175], [3, 33, 185], [2, 35, 180], [5, 35, 180]]