Hướng dẫn python fastest way to sort a dictionary - python cách nhanh nhất để sắp xếp từ điển
TL; DR: Các cách tốt nhất để sắp xếp theo khóa hoặc giá trị (tương ứng), trong CPython 3.7:
Đã thử nghiệm trên MacBook với Show
Thiết lập một lần với Dict 1000 Floats:
Sắp xếp số theo khóa (tốt nhất đến tồi tệ nhất):
Sắp xếp các số theo giá trị (tốt nhất đến tồi tệ nhất):
Thiết lập một lần với một số lượng lớn các chuỗi:
Sắp xếp một chỉ đạo của các chuỗi bằng khóa:
Sắp xếp một lệnh của các chuỗi theo giá trị:
Lưu ý: Dữ liệu trong thế giới thực thường chứa các chuỗi đã được sắp xếp dài, mà thuật toán Timsort có thể khai thác. Nếu sắp xếp một dict nằm trên con đường nhanh của bạn, thì bạn nên chuẩn bị điểm chuẩn trên nền tảng của riêng bạn với dữ liệu điển hình của riêng bạn trước khi đưa ra bất kỳ kết luận nào về cách tiếp cận tốt nhất. Tôi đã chuẩn bị một ký tự nhận xét ( Có cách nào để sắp xếp từ điển trong Python không?Để sắp xếp từ điển theo giá trị trong Python, bạn có thể sử dụng hàm Sắp xếp ().Hàm Sắp xếp () của Python có thể được sử dụng để sắp xếp từ điển theo khóa, cho phép phương thức sắp xếp tùy chỉnh.Sắp xếp () lấy ba đối số: đối tượng, khóa và đảo ngược.Từ điển là cấu trúc dữ liệu không theo thứ tự.use the sorted() function. Python's sorted() function can be used to sort dictionaries by key, which allows for a custom sorting method. sorted() takes three arguments: object, key, and reverse . Dictionaries are unordered data structures.
Sắp xếp () chậm trong Python?Nếu chúng ta chỉ muốn có được một danh sách được sắp xếp và không quan tâm đến danh sách ban đầu, hãy sắp xếp () nhanh hơn một chút so với Sắp xếp () để sắp xếp cơ bản và khi sử dụng các tham số chính (tham số chính chỉ định một hàm được gọi trên mỗiLiệt kê phần tử trước khi so sánh), như trong Hình 3.sort() is a bit faster than sorted() both for basic sorting and when using key parameters (the key parameter specifies a function to be called on each list element prior to making comparisons), as shown in Figure 3.
Dict hay danh sách là nhanh hơn?Một từ điển nhanh hơn 6,6 lần so với danh sách khi chúng tôi tra cứu trong 100 mục. when we lookup in 100 items. |