Computer >> Máy Tính >  >> Lập trình >> Python

Sự khác biệt giữa một danh sách python và một mảng là gì?

Về cơ bản, danh sách Python rất linh hoạt và có thể chứa dữ liệu hoàn toàn không đồng nhất, tùy ý và chúng có thể được thêm vào rất hiệu quả, trong thời gian không đổi được phân bổ. Nếu bạn cần thu nhỏ và phát triển mảng của mình một cách hiệu quả và không gặp rắc rối, thì đây là cách tốt nhất. Nhưng chúng sử dụng nhiều không gian hơn mảng C.

Mặt khác, kiểu array.array chỉ là một lớp bao bọc mỏng trên các mảng C. Nó chỉ có thể chứa dữ liệu đồng nhất, tất cả cùng một kiểu và vì vậy nó chỉ sử dụng sizeof (một đối tượng) * byte độ dài bộ nhớ.

Vì vậy, một danh sách có thể giống như:[1, 'a', [1, 2], 'string']

Nhưng một mảng chỉ có thể chứa những thứ cùng kiểu:[1, 2, 3, 4]