Hỏi về thứ tự phần tử trong dictionary python

đáng lẽ ra thứ tự đúng là
27: 729 , 64: 4096
Ai biết thì chỉ giúp mình với.

Kiểu dic trong python không có thứ tự đâu bạn.
Nếu bạn muốn lấy theo tự tự của key thì phải sort key trước rồi lấy giá sau.
sortedKey = sorted(b)

3 Likes

Hoặc là dùng OrderedDict

3 Likes

Nó không cùng lại thứ tự vì: Khi append vào dict mới, hash của key đã được tính toán lại và chèn theo vị trí tính toán mới trong hash table.
Vì thuật toán hash của python hash sao đó nên vô tình đẻ ra 64 đứng trước 27.

Các cách giải anh Đạt và bạn Ngoc Vo đã đề cập.

3 Likes

cảm ơn mọi người nhiều :grin:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?