cuốn sách gpt4 ai đã làm

python - 为什么在调用 .clear() 后字典大小为 72 字节,而实例化时为 240 字节?

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 02:00:05 31 4
mua khóa gpt4 Nike

Kích thước từ điển là 72 byte (theo getsizeof(dict) Điều gì xảy ra sau khi gọi .clear() trên từ điển, khi từ điển mới được khởi tạo trả về 240 byte?

Tôi biết rằng một lệnh đơn giản bắt đầu với kích thước "8" và tự thay đổi kích thước khi mức lấp đầy đạt khoảng 66%, điều này có liên quan gì đến kích thước sau khi gọi rõ ràng không?

Tôi đang nghiên cứu từ điển và thấy điều này thú vị, chuyện quái gì đang xảy ra vậy?

>>> từ nhập sys getsizeof
>>> dict = {}
>>> getsizeof(dict)
240
>>>dict.clear()
>>> getsizeof(dict)
72
>>>

câu trả lời hay nhất

Giả sử chúng ta đang nói về CPython thì trực giác của bạn đã đúng. Khi tạo một từ điển mới, không gian phím được phân bổvề kích thước PyDict_MINSIZE của dict_new Trung bình. Điều này tiêu tốn bộ nhớ. khi gọi .thông thoáng() Khi nào, không gian phím được nối lại dâyđến một không gian phím trống được phân bổ tĩnh, làm cho từ điển thực sự trống.

Giới thiệu về python - Tại sao kích thước từ điển là 72 byte sau khi gọi .clear() nhưng lại là 240 byte khi được khởi tạo? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/55889886/

31 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress