Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

[Python] Hỏi về cách sắp xếp theo dòng trong mảng 2 chiều

11:55 20-05-2017 4.836 lượt xem 6 bình luận 18:32 21-05-2017

Xin chào mọi người, cho phép mình làm phiền mọi người một chút

Giả sử mình có một mảng 2 chiều [[7,8,9],[1,2,3],[4,5,6]]

Mình thấy 789 tổng bằng 24, 123 tổng bằng 6, 456 tổng bằng 15

Làm thế nào để sắp xếp theo tổng từng dòng giảm dần

Kết quả xuất ra như thế này [[7,8,9],[4,5,6],[1,2,3]]

Cảm ơn mọi người nhiều ạ ^^

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
VirusLove_7x đã bình luận 12:58 20-05-2017

Bạn hãy coi như mỗi cái mảng con là một phần tử. Muốn sắp xếp phần tử thì sort thôi

lst = [[7, 8, 9], [1, 2, 3], [4, 5, 6]]

#sort từ bé đến lớn
sorted(lst) #trả về một mảng khác được sắp xếp từ list lst và list lst không thay đổi

#lst được thay đổi
lst.sort()

còn nếu muốn nó từ lớn đến bé
sorted(lst, reverse=True)
lst.sort(reverse=True)

#nó giống như
lst.sort()
lst.reverse()

Còn nếu muốn tự sort không dùng hàm hỗ trợ

lst = [[7, 8, 9], [1, 2, 3], [4, 5, 6]]

for i in range(len(lst) - 1):
    for j in range(1, len(lst)):
        if sum(lst[i]) < sum(lst[j]):
            #swap 2 cái với nhau
            lst[i], lst[j] = lst[j], lst[i]

 

Câu hỏi mới nhất