Mọi người ơi. Hy vọng tất cả các bạn đang làm tốt. Trong bài viết này, chúng tôi sẽ tập trung vào sự khác biệt giữa Danh sách Python và Mảng một cách chi tiết
Sự khác biệt chính giữa danh sách Python và mảng Python là danh sách là một phần của gói tiêu chuẩn Python trong khi đối với mảng, mô-đun “mảng” cần được nhập. Danh sách trong Python thay thế cấu trúc dữ liệu mảng bằng một vài trường hợp ngoại lệ
1. Cách Danh sách và Mảng Lưu trữ Dữ liệu
Như chúng ta đã biết, Cấu trúc dữ liệu được sử dụng để lưu trữ dữ liệu một cách hiệu quả
Trong trường hợp này, một danh sách có thể lưu trữ các giá trị dữ liệu không đồng nhất vào đó. Nghĩa là, các mục dữ liệu thuộc các loại dữ liệu khác nhau có thể được cung cấp trong Danh sách Python
Thí dụ
lst = [1,2,3,4,'Python'] print[lst]
đầu ra
[1,2,3,4,'Python']
Mặt khác, Mảng lưu trữ các phần tử thuần nhất vào nó. e. chúng lưu trữ các phần tử thuộc cùng loại
Thí dụ
import array arr = array.array['i', [10, 20, 30, 40]] print[arr]
đầu ra
array['i', [10, 20, 30, 40]]
2. Khai báo Array vs. Danh sách
Python đã có “Danh sách” dưới dạng cấu trúc dữ liệu tích hợp. Đó là lý do, Danh sách không cần khai báo trong Python
lst = [1, 2, 3, 4]
Mặt khác, Mảng trong Python cần được khai báo. Chúng ta có thể khai báo một mảng bằng các kỹ thuật dưới đây
Mô-đun mảng
import array array-name = array.array['format-code', [elements]]
Mô-đun NumPy
import numpy array-name = numpy.array[[elements]]
3. Các phép toán cao cấp với mảng
Mảng cung cấp ưu thế khi thực hiện các phép toán. Module NumPy cung cấp cho chúng ta cấu trúc mảng để lưu trữ các giá trị dữ liệu và thao tác với chúng một cách dễ dàng
Ví dụ với Mảng
import numpy arr = numpy.array[[1,2,3,4]] pr = arr*5 print[pr]
đầu ra
________số 8
Không giống như danh sách, trong đó các thao tác được thực hiện trên danh sách không phản ánh vào kết quả như trong ví dụ dưới đây với các thao tác trên danh sách
Ở đây, chúng tôi đã cố gắng nhân giá trị không đổi [5] với danh sách, danh sách này không phản ánh bất kỳ điều gì trong đầu ra. Bởi vì Danh sách không mở để thao tác toán học trực tiếp với bất kỳ giá trị dữ liệu nào
Vì vậy, nếu chúng ta muốn nhân 5 với các phần tử của danh sách, chúng ta sẽ phải nhân riêng 5 với từng phần tử của danh sách
Ví dụ với Danh sách
lst = [1,2,3,4] pr = lst*5 print[lst]
đầu ra
[1,2,3,4,'Python']0
4. Thay đổi kích thước cấu trúc dữ liệu
Danh sách Python là một cấu trúc dữ liệu sẵn có có thể thay đổi kích thước rất dễ dàng và hiệu quả
Mặt khác, Mảng tỏ ra có hiệu suất rất kém về mặt thay đổi kích thước bộ nhớ của mảng. Thay vào đó, chúng ta sẽ phải sao chép mảng này sang một mảng khác để chia tỷ lệ và thay đổi kích thước của nó
Sự kết luận
Đến đây, chúng ta đã đi đến cuối chủ đề này. Vui lòng bình luận bên dưới, trong trường hợp bạn gặp bất kỳ câu hỏi nào
Liên quan đến hiệu suất, đây là một số con số so sánh danh sách python, mảng và mảng numpy [tất cả đều có Python 3. 7 trên Macbook Pro 2017]. Kết quả cuối cùng là danh sách python nhanh nhất cho các thao tác này
[1,2,3,4,'Python']1
Trong python, cả mảng và danh sách đều được sử dụng để lưu trữ dữ liệu dưới dạng cấu trúc dữ liệu. Cấu trúc dữ liệu này có thể được sử dụng để lặp lại và lập chỉ mục. Trong bài viết này, chúng ta sẽ nghiên cứu mảng là gì và danh sách thực sự là gì và sự khác biệt chính giữa mảng và danh sách trong python với một bảng hoàn chỉnh cho Array vs List. Ngoài ra, chúng ta sẽ học khi nào nên sử dụng mảng và đặc biệt là liệt kê.
Mảng là gì?
Mảng là một cấu trúc dữ liệu chứa số phần tử cố định và các phần tử này phải có cùng kiểu dữ liệu. Hầu hết cấu trúc dữ liệu sử dụng một mảng để thực hiện thuật toán của họ. Có hai phần quan trọng của mảng. một là một Element. Mỗi mục lưu trữ trong mảng được gọi là một phần tử và thứ hai là một Chỉ mục. Mỗi phần tử trong mảng có giá trị số riêng để xác định phần tử. Các phần tử này phân bổ các vị trí bộ nhớ liền kề cho phép dễ dàng sửa đổi dữ liệu. Để khai báo mảng trong ngôn ngữ python, chúng ta sẽ sử dụng module array.
Ví dụ
[1,2,3,4,'Python']2
đầu ra
a
b
c
Nếu phần tử dữ liệu của khai báo mảng thuộc kiểu dữ liệu khác, thì một ngoại lệ “Kiểu dữ liệu không tương thích” sẽ được đưa ra
Danh sách là gì?
Danh sách là kiểu dữ liệu quan trọng nhất trong ngôn ngữ python. Trong ngôn ngữ Python, danh sách được viết dưới dạng danh sách các giá trị được phân tách bằng dấu phẩy bên trong dấu ngoặc vuông. Ưu điểm quan trọng nhất của danh sách là các phần tử bên trong danh sách không bắt buộc phải có cùng kiểu dữ liệu cùng với việc lập chỉ mục phủ định. Ngoài ra, mọi thao tác của chuỗi cũng được áp dụng tương tự trên kiểu dữ liệu danh sách như cắt, nối, v.v. Ngoài ra, chúng ta có thể tạo danh sách lồng nhau i. danh sách e chứa danh sách khác
Ví dụ
[1,2,3,4,'Python']3
đầu ra
[10, 'sid', ['A', 'B']]
Sự khác biệt giữa Mảng và Danh sách trong Python
Dưới đây chúng tôi đã đề cập đến 5 điểm khác biệt chính giữa mảng và danh sách trong lập trình python
- khả năng thay thế. Danh sách Python chỉ có thể thay thế cho cấu trúc dữ liệu mảng với một số trường hợp ngoại lệ
- Loại dữ liệu Lưu trữ. Mảng chỉ có thể lưu trữ các phần tử của một loại dữ liệu nhưng Danh sách cũng có thể lưu trữ các phần tử của các loại dữ liệu khác nhau. Do đó, Mảng lưu trữ các giá trị dữ liệu đồng nhất và danh sách có thể lưu trữ các giá trị dữ liệu không đồng nhất
- Nhập mô-đun. Danh sách là cấu trúc dữ liệu trong bản dựng của ngôn ngữ python do đó không có mô-đun hoặc gói nào được nhập trước khi sử dụng nó. Nhưng mảng không phải là cấu trúc dữ liệu có sẵn cho ngôn ngữ python. Do đó, chúng ta cần nhập mô-đun “mảng” trước khi tạo và sử dụng mảng
- Hoạt động số. Mảng mang lại lợi thế trong việc thực hiện các phép toán trong ngôn ngữ python vì mô-đun NumPy cung cấp cho chúng ta cấu trúc mảng để lưu trữ các giá trị dữ liệu và thao tác với chúng một cách dễ dàng. Nhưng danh sách mặt khác không phản ánh kết quả. Danh sách có khả năng thực hiện các phép toán nhưng chúng kém hiệu quả hơn so với mảng
- Khả năng sửa đổi. Mảng có hiệu suất rất kém trong việc thay đổi kích thước và sửa đổi vị trí bộ nhớ nhưng mặt khác, danh sách là cấu trúc dữ liệu được xây dựng và do đó có thể thay đổi kích thước và sửa đổi rất dễ dàng và hiệu quả
con trăn. Mảng vs Danh sách
Danh sách
Mảng
Chứa các phần tử thuộc các kiểu dữ liệu khác nhau
Chứa các phần tử có cùng kiểu dữ liệu
Mô-đun nhập rõ ràng không bắt buộc phải khai báo danh sách
Cần nhập mô-đun một cách rõ ràng để khai báo một mảng
Không thể xử lý các phép tính số học
Có thể xử lý các phép tính số học
Có thể được lồng trong một danh sách khác
Phải chứa tất cả các phần tử có cùng kích thước
Chủ yếu được sử dụng trong chuỗi phần tử dữ liệu ngắn hơn
Chủ yếu được sử dụng trong chuỗi phần tử dữ liệu dài hơn
Dễ dàng sửa đổi như thêm, xóa và cập nhật các phần tử dữ liệu được thực hiện
Rất khó để sửa đổi một mảng vì thao tác thêm, xóa và cập nhật được thực hiện trên một phần tử tại một thời điểm
Chúng tôi có thể in toàn bộ danh sách mà không cần sự trợ giúp của một vòng lặp rõ ràng
Để in hoặc truy cập các phần tử mảng, chúng tôi sẽ yêu cầu một vòng lặp rõ ràng
Để dễ dàng thêm phần tử, cần có bộ nhớ lưu trữ lớn
So với danh sách, nó có kích thước trong bộ nhớ nhỏ gọn hơn
Khi nào nên sử dụng Mảng hoặc Danh sách?
Như chúng ta đã nghiên cứu ở trên, mảng và danh sách có tầm quan trọng riêng trong ngôn ngữ python. Nhưng câu hỏi luôn được đặt ra, khi nào thì sử dụng mảng hoặc danh sách?
Vì vậy, khi chúng tôi đang nhắm mục tiêu lưu trữ chuỗi phần tử nhỏ và không muốn thực hiện bất kỳ phép toán nào, thì danh sách là lựa chọn ưu tiên để thực hiện vì cấu trúc dữ liệu danh sách sẽ cho phép bạn lưu trữ một thứ tự và có thể thay đổi [có thể dễ dàng sửa đổi
Vì cấu trúc dữ liệu mảng cung cấp khả năng lưu trữ dữ liệu hiệu quả hơn cho các phần tử, do đó, nó được coi là sử dụng mảng khi chúng ta cần xử lý một chuỗi dữ liệu dài
Ngoài ra, nếu chúng ta mong muốn thực hiện các phép toán số trên tổ hợp các phần tử, thì nên sử dụng mảng làm cấu trúc dữ liệu mảng phụ thuộc nhiều vào phân tích dữ liệu và khoa học dữ liệu
Ngoài ra, danh sách python nhanh hơn mảng python vì mảng python dựa trên chính danh sách python vì khi chúng ta tạo danh sách python, một mảng con trỏ lưu trữ tham chiếu của các phần tử trong danh sách được tạo ở đâu đó trong vị trí bộ nhớ.
Sự kết luận
Như vậy, từ những nghiên cứu trên, chúng ta biết rằng cả mảng và danh sách đều có những ưu điểm và nhược điểm riêng. Bạn cũng đã hiểu sự khác biệt giữa mảng và danh sách trong python, cùng với bảng phân biệt giữa mảng và danh sách. Chúng ta có thể sử dụng chúng theo yêu cầu của dữ liệu được lưu trữ và các thao tác sẽ được thực hiện trên các phần tử được lưu trữ