Cả danh sách và mảng đều được sử dụng để lưu trữ dữ liệu trong Python. Hơn nữa, cả hai cấu trúc dữ liệu đều cho phép lập chỉ mục, cắt và lặp lại. Vậy sự khác biệt giữa mảng và danh sách trong Python là gì? . một danh sách
Python có rất nhiều cấu trúc dữ liệu khác nhau với các tính năng và chức năng khác nhau. Cấu trúc dữ liệu tích hợp của nó bao gồm danh sách, bộ dữ liệu, bộ và từ điển. Tuy nhiên, đây không phải là danh sách đầy đủ các cấu trúc dữ liệu có sẵn trong Python. Một số cấu trúc dữ liệu bổ sung có thể được nhập từ các mô-đun hoặc gói khác nhau
Cấu trúc dữ liệu mảng thuộc danh mục "phải nhập". Để sử dụng một mảng trong Python, bạn cần nhập cấu trúc dữ liệu này từ gói NumPy hoặc mô-đun mảng
Và đó là sự khác biệt đầu tiên giữa danh sách và mảng. Trước khi tìm hiểu sâu hơn về sự khác biệt giữa hai cấu trúc dữ liệu này, hãy xem lại các tính năng và chức năng của danh sách và mảng
Danh sách trong Python là gì?
Danh sách là một cấu trúc dữ liệu được tích hợp trong Python và chứa một tập hợp các mục. Danh sách có một số đặc điểm quan trọng
- Các mục trong danh sách được đặt trong dấu ngoặc vuông, như thế này [item1, item2, item3]
- Danh sách được sắp xếp – tôi. e. các mục trong danh sách xuất hiện theo một thứ tự cụ thể. Điều này cho phép chúng tôi sử dụng một chỉ mục để truy cập vào bất kỳ mục nào
- Danh sách có thể thay đổi, nghĩa là bạn có thể thêm hoặc xóa các mục sau khi tạo danh sách
- Các phần tử danh sách không cần phải là duy nhất. Có thể sao chép mục vì mỗi phần tử có vị trí riêng biệt và có thể được truy cập riêng thông qua chỉ mục
- Các phần tử có thể thuộc các kiểu dữ liệu khác nhau. bạn có thể kết hợp các chuỗi, số nguyên và đối tượng trong cùng một danh sách
Danh sách được tạo rất dễ dàng trong Python
list = [3, 6, 9, 12] print[list] print[type[list]]
[3, 6, 9, 12]
Danh sách Python được sử dụng ở mọi nơi, vì chúng là một công cụ tuyệt vời để lưu một chuỗi các mục và lặp lại nó
Mảng trong Python là gì?
Mảng cũng là một cấu trúc dữ liệu lưu trữ một tập hợp các phần tử. Giống như danh sách, mảng được sắp xếp theo thứ tự, có thể thay đổi, được đặt trong dấu ngoặc vuông và có thể lưu trữ các mục không phải là duy nhất
Nhưng khi nói đến khả năng lưu trữ các loại dữ liệu khác nhau của mảng, câu trả lời không đơn giản như vậy. Nó phụ thuộc vào loại mảng được sử dụng
Để sử dụng mảng trong Python, bạn cần nhập mô-đun mảng hoặc gói NumPy
import array as arr
import numpy as np
Mô-đun mảng Python yêu cầu tất cả các phần tử mảng phải cùng loại. Hơn nữa, để tạo một mảng, bạn cần chỉ định một loại giá trị. Trong đoạn mã dưới đây, chữ "i" có nghĩa là tất cả các phần tử trong mảng_1 đều là số nguyên
array_1 = arr.array["i", [3, 6, 9, 12]] print[array_1] print[type[array_1]]
array['i', [3, 6, 9, 12]]
Mặt khác, mảng NumPy hỗ trợ các loại dữ liệu khác nhau. Để tạo một mảng NumPy, bạn chỉ cần chỉ định các mục [tất nhiên là được đặt trong dấu ngoặc vuông]
array_2 = np.array[["numbers", 3, 6, 9, 12]] print [array_2] print[type[array_2]]
['numbers' '3' '6' '9' '12']
Như bạn có thể thấy, mảng_2 chứa một mục thuộc loại chuỗi [i. e. , "số"] và bốn số nguyên
Vậy sự khác biệt là gì?
Bây giờ chúng ta đã biết các định nghĩa và tính năng của chúng, chúng ta có thể nói về sự khác biệt giữa danh sách và mảng trong Python
- Mảng cần được khai báo. Danh sách thì không, vì chúng được tích hợp vào Python. Trong các ví dụ trên, bạn đã thấy rằng các danh sách được tạo bằng cách đặt một chuỗi các phần tử trong dấu ngoặc vuông. Mặt khác, việc tạo một mảng yêu cầu một chức năng cụ thể từ mô-đun mảng [i. e. , mảng. mảng []] hoặc gói NumPy [i. e. , numpy. mảng[]]. Do đó, danh sách được sử dụng thường xuyên hơn mảng
- Mảng có thể lưu trữ dữ liệu rất nhỏ gọn và hiệu quả hơn để lưu trữ lượng lớn dữ liệu
- Mảng là tuyệt vời cho các hoạt động số; . Ví dụ: bạn có thể chia từng phần tử của một mảng cho cùng một số chỉ bằng một dòng mã. Nếu bạn thử tương tự với một danh sách, bạn sẽ gặp lỗi
array = np.array[[3, 6, 9, 12]] division = array/3 print[division] print [type[division]]____9
[3, 6, 9, 12]0
[3, 6, 9, 12]1
Tất nhiên, có thể thực hiện một phép toán với một danh sách, nhưng nó kém hiệu quả hơn nhiều
Từ khóa học Cấu trúc dữ liệu Python trong thực hành
Vì vậy, khi nào bạn nên sử dụng danh sách và khi nào bạn nên sử dụng mảng?
- Nếu bạn cần lưu trữ một chuỗi các mục tương đối ngắn và bạn không định thực hiện bất kỳ phép toán nào với nó, thì một danh sách là lựa chọn ưu tiên. Cấu trúc dữ liệu này sẽ cho phép bạn lưu trữ một chuỗi các mục được sắp xếp, có thể thay đổi và lập chỉ mục mà không cần nhập bất kỳ mô-đun hoặc gói bổ sung nào
- Nếu bạn có một chuỗi các mục rất dài, hãy cân nhắc sử dụng một mảng. Cấu trúc này cung cấp khả năng lưu trữ dữ liệu hiệu quả hơn
- Nếu bạn dự định thực hiện bất kỳ phép toán số nào với tổ hợp các mục của mình, hãy sử dụng một mảng. Phân tích dữ liệu và khoa học dữ liệu phụ thuộc rất nhiều vào mảng [chủ yếu là NumPy]
Thời gian để thực hành mảng và danh sách Python
Tuyệt quá. Bây giờ bạn đã biết sự khác biệt giữa mảng và danh sách trong Python. Bạn cũng biết nên chọn cái nào cho một chuỗi các mục. Bây giờ là lúc để thực hành
Nếu bạn muốn nâng cao hiểu biết về cấu trúc dữ liệu và thực hành hơn 100 bài tập tương tác, hãy xem LearnPython. com khóa học Cấu trúc dữ liệu Python trong thực tế. Nó sẽ giúp bạn cảm thấy mình là người chuyên nghiệp khi xử lý danh sách, danh sách lồng nhau, bộ dữ liệu, bộ và từ điển