Vì phiên bản python mới nhất vẫn giữ thứ tự chèn của dict, ý nghĩa của đẳng thức (==) có thay đổi không?


8

Trong phiên bản python mới nhất, dict vẫn giữ thứ tự chèn. Có bất kỳ thay đổi về bình đẳng. Ví dụ, hiện tại các công trình dưới đây. Vì thứ tự chèn sẽ rất quan trọng, điều này có thể thay đổi trong tương lai không?

Tôi đang hỏi vì có thay đổi cơ bản - trước đây == đã hoạt động vì thứ tự chèn không quan trọng vì nó được coi là không theo thứ tự. Bây giờ kể từ khi nó được ra lệnh, ý nghĩa của bình đẳng có thể thay đổi?

d1={'a':1,'b':2}
d2={'b':2,'a':1}
print(d1==d2)
True

l1=['a','b']
l2=['b','a']
print(l1==l2)
False

4
Không, ý nghĩa này sẽ không thay đổi.
L3viathan

Câu trả lời:


2

Tài liệu chính thức của Python nêu sau đây về toán tử == liên quan đến từ điển:

Ánh xạ (ví dụ của dict) so sánh bằng nhau khi và chỉ khi chúng có cặp (khóa, giá trị) bằng nhau. So sánh bằng nhau của các khóa và giá trị thực thi tính phản xạ.

Vì vậy, thứ tự chèn không được xem xét và do tính tương thích ngược, có lẽ sẽ không bao giờ, vì có lẽ nó sẽ không có ý nghĩa, hoặc không trực quan, trong hầu hết các trường hợp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.