5
[{'thời gian': 33}, {'thời gian': 11}, {'thời gian': 66}]Cách sắp xếp danh sách này bằng Python?
Cách sắp xếp theo yếu tố "thời gian", DESC.
[{'thời gian': 33}, {'thời gian': 11}, {'thời gian': 66}]Cách sắp xếp danh sách này bằng Python?
Cách sắp xếp theo yếu tố "thời gian", DESC.
Như thế này:
from operator import itemgetter
l = sorted(l, key=itemgetter('time'), reverse=True)
Hoặc:
l = sorted(l, key=lambda a: a['time'], reverse=True)
đầu ra:
[{'time': 66}, {'time': 33}, {'time': 11}]
Nếu bạn không muốn giữ lại thứ tự ban đầu bạn có thể sử dụng your_list.sort
làm biến đổi các danh sách gốc thay vì tạo bản sao như sorted(your_list)
l.sort(key=lambda a: a['time'], reverse=True)
phiên bản operator.itemgetter được ưu tiên. Nó có một cuộc gọi ít chức năng hơn cho mỗi phần tử. – nosklo
@nosklo, itemgetter thực sự trả về một hàm hoạt động gần giống như lambda a: a ['time'] nên không có nhiều sự khác biệt so với triển vọng này. Cả hai phương thức đều liên quan đến một cuộc gọi hàm cho mỗi phần tử. –