Mảng Python
Category: Python
Danh sách trong Python là cấu trúc dữ liệu linh hoạt nhất và được sử dụng phổ biến nhất để lưu trữ tuần tự. Chúng tương tự như mảng trong các ngôn ngữ khác nhưng có một số điểm khác biệt chính:
Kiểu động: Danh sách Python có thể chứa các phần tử có kiểu khác nhau trong cùng một danh sách. Chúng ta có thể có một số nguyên, một chuỗi và thậm chí các danh sách khác được lưu trữ trong một danh sách duy nhất.
Thay đổi kích thước động: Danh sách có thể thay đổi kích thước động, nghĩa là bạn có thể thêm hoặc xóa các phần tử mà không cần khai báo kích thước của danh sách trước.
Phương thức tích hợp: Danh sách Python có nhiều phương thức tích hợp cho phép thao tác dễ dàng các phần tử bên trong danh sách, bao gồm các phương thức thêm, xóa, sắp xếp và đảo ngược các phần tử.
a = [1, "Hello", [3.14, "world"]]
a.append(2) # thêm số nguyên vào cuối
print(a)
Đầu ra:
[1, 'Hello', [3.14, 'world'], 2]
Lưu ý: Python không có chức năng hỗ trợ mảng tích hợp như các ngôn ngữ như C và Java, nhưng nó cung cấp chức năng tương tự thông qua mô-đun mảng để lưu trữ các phần tử có cùng kiểu.
Mảng NumPy
Mảng NumPy là một phần của thư viện NumPy , một công cụ mạnh mẽ để tính toán số trong Python. Các mảng này được thiết kế cho các hoạt động hiệu suất cao trên khối lượng dữ liệu lớn và hỗ trợ các mảng và ma trận đa chiều. Điều này làm cho chúng lý tưởng cho các phép tính toán học phức tạp và xử lý dữ liệu quy mô lớn.
Các tính năng chính:
Hỗ trợ đa chiều: Mảng NumPy có thể xử lý nhiều chiều, phù hợp với các phép toán ma trận và các cấu trúc toán học phức tạp hơn.
Khả năng phát sóng rộng: Chúng có thể thực hiện các hoạt động giữa các mảng có kích thước và hình dạng khác nhau, một tính năng được gọi là phát sóng.
Lưu trữ và xử lý hiệu quả: Mảng NumPy được lưu trữ hiệu quả hơn danh sách Python và cung cấp hiệu suất được tối ưu hóa cho các phép toán số.
import numpy as np
# Tạo một mảng NumPy
arr = np.array([1, 2, 3, 4])
# Các phép toán theo từng phần tử
print(arr * 2)
# Mảng đa chiều
arr2d = np.array([[1, 2], [3, 4]])
print(arr2d * 2)
Đầu ra:
[2 4 6 8]
[[2 4]
[6 8]]
Lưu ý: Chọn mảng NumPy cho tính toán khoa học, nơi bạn cần xử lý các hoạt động phức tạp hoặc làm việc với dữ liệu đa chiều.
Sử dụng mô-đun mảng của Python khi bạn cần một vùng chứa cơ bản, tiết kiệm bộ nhớ cho số lượng lớn các kiểu dữ liệu thống nhất, đặc biệt là khi các hoạt động của bạn đơn giản và không yêu cầu khả năng của NumPy.
Mảng Python
Trong Python, mảng là một tập hợp các mục được lưu trữ tại các vị trí bộ nhớ liền kề. Ý tưởng là lưu trữ nhiều mục cùng loại với nhau. Không giống như danh sách Python (có thể lưu trữ các phần tử có kiểu hỗn hợp), mảng phải có tất cả các phần tử cùng loại. Chỉ có các phần tử đồng nhất giúp tiết kiệm bộ nhớ.
Ví dụ về mảng Python:
import array as arr
# tạo mảng số nguyên
a = arr.array('i', [1, 2, 3])
# truy cập Mảng đầu tiên
print(a[0])
# Thêm phần tử vào mảng
a.append(5)
print(a)
Đầu ra:
1
array('i', [1, 2, 3, 5])
Tạo một mảng trong Python
Mảng trong Python có thể được tạo bằng cách nhập mô-đun mảng. array( data_type , value_list ) được sử dụng để tạo mảng trong Python với kiểu dữ liệu và danh sách giá trị được chỉ định trong các đối số của nó.
import array as arr
# tạo mảng
a = arr.array('i', [1, 2, 3])
# lặp lại và in từng mục
for i in range(0, 3):
print(a[i], end=" ")
Đầu ra
1 2 3
Thêm các phần tử vào một mảng
Các phần tử có thể được thêm vào Mảng Python bằng cách sử dụng hàm insert() tích hợp sẵn . Insert được sử dụng để chèn một hoặc nhiều phần tử dữ liệu vào một mảng. Dựa trên yêu cầu, một phần tử mới có thể được thêm vào đầu, cuối hoặc bất kỳ chỉ mục nào của mảng. append() cũng được sử dụng để thêm giá trị được đề cập trong các đối số của nó vào cuối mảng Python.
import array as arr
# Ví dụ về mảng số nguyên
a = arr.array('i', [1, 2, 3])
print("Integer Array before insertion:", *a)
a.insert(1, 4) # Chèn 4 vào chỉ mục 1
print("Integer Array after insertion:", *a)
Đầu ra:
Integer Array before insertion: 1 2 3
Integer Array after insertion: 1 4 2 3
Lưu ý: Chúng tôi đã sử dụng a và b để giải nén các phần tử mảng .
Truy cập các mục mảng
Để truy cập vào các mục mảng, hãy tham chiếu đến số chỉ mục. Sử dụng toán tử chỉ mục [ ] để truy cập vào một mục trong mảng trong Python. Chỉ mục phải là một số nguyên.
import array as arr
a = arr.array('i', [1, 2, 3, 4, 5, 6])
print(a[0])
print(a[3])
b = arr.array('d', [2.5, 3.2, 3.3])
print(b[1])
print(b[2])
Đầu ra:
1
4
3.2
3.3
Xóa các phần tử khỏi mảng
Các phần tử có thể được xóa khỏi mảng Python bằng cách sử dụng hàm remove() tích hợp sẵn . Nó sẽ tạo ra Lỗi nếu phần tử không tồn tại. Phương thức Remove() chỉ xóa phần tử đầu tiên được tìm kiếm. Để xóa phạm vi phần tử, chúng ta có thể sử dụng trình lặp.
Hàm pop() cũng có thể được sử dụng để xóa và trả về một phần tử khỏi mảng. Theo mặc định, nó chỉ xóa phần tử cuối cùng của mảng. Để xóa phần tử khỏi một vị trí cụ thể, chỉ mục của mục đó được truyền làm đối số cho phương thức pop().
import array
arr = array.array('i', [1, 2, 3, 1, 5])
# sử dụng phương thức remove() để xóa lần xuất hiện đầu tiên của 1
arr.remove(1)
print(arr)
# Phương thức pop() - xóa phần tử ở vị trí thứ 2
arr.pop(2)
print(arr)
Đầu ra:
array('i', [2, 3, 1, 5])
array('i', [2, 3, 5])
Cắt một mảng
Trong mảng Python, có nhiều cách để in toàn bộ mảng với tất cả các phần tử, nhưng để in một phạm vi phần tử cụ thể từ mảng, chúng ta sử dụng phép toán Slice .
Các phần tử từ đầu đến một phạm vi sử dụng [:Index]
Các yếu tố từ mục đích sử dụng cuối cùng [:-Index]
Các phần tử từ Index cụ thể cho đến khi sử dụng cuối cùng [Index:]
Các phần tử trong một phạm vi, sử dụng [Start Index:End Index]
In danh sách đầy đủ, sử dụng [:].
Đối với danh sách đảo ngược, sử dụng [::-1].
import array as arr
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a = arr.array('i', l)
Sliced_array = a[3:8]
print(Sliced_array)
Sliced_array = a[5:]
print(Sliced_array)
Sliced_array = a[:]
print(Sliced_array)
Đầu ra:
array('i', [4, 5, 6, 7, 8])
array('i', [6, 7, 8, 9, 10])
array('i', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Tìm kiếm phần tử trong một mảng
Để tìm kiếm một phần tử trong mảng, chúng ta sử dụng phương thức index() tích hợp sẵn của Python . Hàm này trả về chỉ số của lần xuất hiện đầu tiên của giá trị được đề cập trong các đối số.
Đầu ra:
1
0
Cập nhật các phần tử trong một mảng
Để cập nhật một phần tử trong mảng, chúng ta chỉ cần gán lại giá trị mới cho chỉ mục mong muốn cập nhật.
import array
arr = array.array('i', [1, 2, 3, 1, 2, 5])
# cập nhật mục ở chỉ mục 2
arr[2] = 6
print(arr)
# cập nhật mục ở chỉ mục 4
arr[4] = 8
print(arr)
Đầu ra:
array('i', [1, 2, 6, 1, 2, 5])
array('i', [1, 2, 6, 1, 8, 5])
Các hoạt động khác nhau trên mảng Python
Đếm các phần tử trong một mảng
Chúng ta có thể sử dụng phương thức count() để đếm số phần tử đã cho trong mảng.
import array
arr = array.array('i', [1, 2, 3, 4, 2, 5, 2])
count = arr.count(2)
print("Number of occurrences of 2:", count)
Đầu ra:
Number of occurrences of 2: 3
Đảo ngược các phần tử trong một mảng
Để đảo ngược các phần tử của một mảng, chúng ta chỉ cần sử dụng phương thức reverse.
import array
arr = array.array('i', [1, 2, 3, 4, 5])
arr.reverse()
print("Reversed array:", *arr)
Đầu ra:
Reversed array: 5 4 3 2 1
Mở rộng phần tử từ mảng
Trong Python, một mảng được sử dụng để lưu trữ nhiều giá trị hoặc phần tử có cùng kiểu dữ liệu trong một biến duy nhất. Hàm extend() chỉ được sử dụng để đính kèm một mục từ iterable vào cuối mảng. Nói một cách đơn giản hơn, phương pháp này được sử dụng để thêm một mảng giá trị vào cuối một mảng đã cho hoặc hiện có.
list.extend(có thể lặp lại)
Ở đây, tất cả các phần tử của iterable được thêm vào cuối list1
import array as arr
a = arr.array('i', [1, 2, 3,4,5])
# sử dụng phương thức extend()
a.extend([6,7,8,9,10])
print(a)
Đầu ra:
array('i', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Published on Jun 18, 2025