2013-06-13 50 views
8

Tôi muốn biết, đó là phương pháp hay nhất để khai báo từ điển trong 2 phương pháp tiếp cận và tại sao?dict() vs {} trong python tốt hơn?

>>>a=dict(one=2, two=3) # {"two":3, "one":2} 
>>>a={"two":3, "one":2} 

Trả lời

12

Bạn có tin rằng someone has already analyzed that (từ góc độ hiệu suất) không.

Với CPython 2.7, sử dụng dict() để tạo từ điển mất đến 6 lần lâu hơn và liên quan đến nhiều hoạt động cấp phát bộ nhớ hơn so với cú pháp đen . Sử dụng {} để tạo từ điển, đặc biệt nếu bạn đang điền trước chúng, trừ khi cú pháp ngữ nghĩa không hoạt động cho trường hợp của bạn.

+4

Nó không phải là đáng ngạc nhiên khi xem xét các đối số từ khóa được chuyển như một từ điển mà sau đó đã được sao chép lại bởi hàm tạo 'dict'. –

3

Điều thứ hai là rõ ràng, dễ đọc hơn và đó là một điều tốt mà một cú pháp cụ thể tồn tại cho điều này, bởi vì đó là một hoạt động rất phổ biến:

a = {"two":3, "one":2} 

Và nó nên được ưa thích trên chung trường hợp. Đối số hiệu suất là mối quan tâm thứ cấp, nhưng ngay cả như vậy, cú pháp {} nhanh hơn.

+0

Downvoter: chăm sóc bình luận? –

1

Trong Python, bạn nên luôn sử dụng cú pháp ngữ khi có thể. Vì vậy, [] cho danh sách, {} cho dicts, vv Dễ đọc hơn, giao diện đẹp hơn và trình thông dịch sẽ chuyển đổi thành bytecode được thực hiện nhanh hơn (opcodes đặc biệt cho vùng chứa, thay vì thực hiện các cuộc gọi chức năng).

Các vấn đề liên quan