Tôi đã dict bằng Python với các phím có dạng sau:Tôi có thể sắp xếp văn bản theo giá trị số của nó bằng Python không?
mydict = {'0' : 10,
'1' : 23,
'2.0' : 321,
'2.1' : 3231,
'3' : 3,
'4.0.0' : 1,
'4.0.1' : 10,
'5' : 11,
# ... etc
'10' : 32,
'11.0' : 3,
'11.1' : 243,
'12.0' : 3,
'12.1.0': 1,
'12.1.1': 2,
}
Một số chỉ số không có sub-giá trị, một số có một mức độ sub-giá trị và một số có hai. Nếu tôi chỉ có một cấp phụ, tôi có thể coi tất cả chúng là số và sắp xếp theo số lượng. Cấp phụ thứ hai buộc tôi phải xử lý tất cả chúng dưới dạng chuỗi. Tuy nhiên, nếu tôi sắp xếp chúng như các chuỗi, tôi sẽ có 10
theo sau 1
và 20
theo sau 2
.
Tôi có thể sắp xếp các chỉ số chính xác như thế nào?
Lưu ý: Điều tôi thực sự muốn làm là in ra dict được sắp xếp theo chỉ mục. Nếu có một cách tốt hơn để làm điều đó hơn phân loại nó bằng cách nào đó đó là tốt với tôi.
Điều này được gọi là "phân loại tự nhiên". Xem http://stackoverflow.com/questions/34518/natural-sorting-algorithm –