01/10/2018, 11:32

Tại sao các key không sắp xếp theo thứ tự khi in dict

em có đoạn Code này:

dct = {'a': 10, 'b': 34, 'A': 7, 'Z': 3}
freq_dict = {k.lower() : dct.get(k.lower(), 0) + dct.get(k.upper(), 0) for k in dct.keys()}
print(freq_dict)

Khi chạy được kết quả:

# {'a': 17, 'z': 3, 'b': 34}

Nhưng em nghĩ đáng lý ra kết quả phải thế này mới đúng chứ ạ:

# {'a': 17, 'b': 34,'z': 3}

Tại sao z lại đứng trước b ạ.

Nhờ anh/chị giải thích giúp e ạ.

HK boy viết 13:39 ngày 01/10/2018

Tại sao z lại đứng trước b ạ.

Điều đó đâu có quan trọng đâu nhỉ.

>>> dct = {'a': 10, 'b': 34, 'A': 7, 'Z': 3}
>>> print(dct.keys())
dict_keys(['A', 'Z', 'a', 'b'])

Các key trong dict đã được sort lại nên bạn có thể thấy kết quả như hình.

giang viết 13:35 ngày 01/10/2018

>>> dct = {‘a’: 10, ‘b’: 34, ‘A’: 7, ‘Z’: 3}
>>> print(dct.keys())
dict_keys([‘A’, ‘Z’, ‘a’, ‘b’])
Các key trong dict đã được sort lại nên bạn có thể thấy kết quả như hình.

Cảm ơn anh đã giải thích giúp e.

Điều đó đâu có quan trọng đâu nhỉ.

À … cái này thì em chưa biết nhiều về Python nên không biết nó có quan trọng hay không.
Nhưng tại vì em thấy kết quả nó ra không đúng với suy nghĩ (cách hiểu) của e về đoạn Code, lại sợ đoạn Code nó chạy theo một kiểu khác mà mình chưa hiểu hết.

Bài liên quan
0