Ưu điểm của NumPy so với list thông thường trong Python là gì?

{{FormatNumbertoThousand(model.total_like)}} lượt thích
114 lượt xem
Python senior
  • Mảng của NumPy nhỏ gọn hơn so với list - một danh sách như bạn mô tả, trong Python, sẽ chiếm ít nhất 20 MB hoặc hơn, trong khi mảng NumPy 3D với số float chính xác đơn trong các cell sẽ vừa với 4 MB. Việc truy cập vào các mục đọc và ghi cũng nhanh hơn với NumPy.
  • Sự khác biệt chủ yếu là do "tính gián tiếp" - list là một mảng con trỏ đến các đối tượng Python, ít nhất 4 byte cho mỗi con trỏ cộng với 16 byte cho đối tượng Python nhỏ nhất (4 cho con trỏ kiểu, 4 cho tham chiếu đếm, 4 cho giá trị - và bộ cấp phát bộ nhớ làm tròn lên đến 16). Mảng NumPy là một mảng các giá trị đồng nhất - các số chính xác đơn chiếm 4 byte mỗi số, các số chính xác kép, 8 byte. Ít linh hoạt hơn, nhưng bạn phải trả đáng kể cho tính linh hoạt của list tiêu chuẩn trong Python.
  • NumPy không chỉ hiệu quả hơn; nó cũng thuận tiện hơn. Bạn nhận được rất nhiều phép toán vectơ và ma trận miễn phí, điều này đôi khi cho phép bạn tránh những công việc không cần thiết. Và chúng cũng được thực hiện một cách hiệu quả.
Câu hỏi tiếp theo: Tại sao bạn sử dụng metaclass?
{{login.error}}