Từ một bình luận:
Tôi muốn sắp xếp từng bộ.
Thật dễ dàng. Đối với bất kỳ tập hợp nào s(hoặc bất kỳ tập hợp nào khác có thể lặp lại), sorted(s)trả về danh sách các phần tử stheo thứ tự được sắp xếp:
>>> s = set(['0.000000000', '0.009518000', '10.277200999', '0.030810999', '0.018384000', '4.918560000'])
>>> sorted(s)
['0.000000000', '0.009518000', '0.018384000', '0.030810999', '10.277200999', '4.918560000']
Lưu ý rằng sortedđang cung cấp cho bạn một list, không phải a set. Đó là bởi vì toàn bộ điểm của một tập hợp, cả trong toán học và trong hầu hết mọi ngôn ngữ lập trình , * là nó không có thứ tự: các tập hợp {1, 2}và {2, 1}là cùng một tập hợp.
Bạn có thể không thực sự muốn sắp xếp các phần tử đó dưới dạng chuỗi, nhưng dưới dạng số (vì vậy 4.918560000 sẽ đến trước 10.277200999 chứ không phải sau).
Giải pháp tốt nhất có nhiều khả năng là lưu trữ các số dưới dạng số hơn là chuỗi ngay từ đầu. Nhưng nếu không, bạn chỉ cần sử dụng một keyhàm:
>>> sorted(s, key=float)
['0.000000000', '0.009518000', '0.018384000', '0.030810999', '4.918560000', '10.277200999']
Để biết thêm thông tin, hãy xem Cách phân loại HOWTO trong tài liệu chính thức.
* Xem các bình luận để biết các trường hợp ngoại lệ.