Tìm hiểu các phương pháp thêm phần tử vào mảng hoặc list trong Python bằng append(), extend(), insert() và NumPy với ví dụ minh họa trực quan.
Trong ngôn ngữ lập trình Python, kiểu dữ liệu danh sách (list) thường được sử dụng phổ biến tương tự như mảng (array). Tuy nhiên, khi làm việc với các bài toán tính toán hiệu năng cao hoặc xử lý dữ liệu lớn, lập trình viên cũng thường thao tác trên mảng của thư viện array mặc định hoặc numpy.ndarray.
Bài viết này Bitech sẽ hướng dẫn bạn chi tiết các phương pháp thêm phần tử vào mảng/list trong Python cùng các ví dụ mã nguồn cụ thể.
Phân biệt nhanh List và Array trong Python
- List: Kiểu dữ liệu tích hợp sẵn, linh hoạt, có thể chứa nhiều kiểu dữ liệu khác nhau trong cùng một danh sách.
- Array (thư viện
arrayhoặcnumpy): Chỉ chứa các phần tử có cùng một kiểu dữ liệu, tối ưu hóa về dung lượng bộ nhớ và tốc độ tính toán.
1. Phương thức append(): Thêm phần tử vào cuối danh sách
Phương thức append() được sử dụng để thêm một phần tử duy nhất vào vị trí cuối cùng của danh sách. Phương thức này sẽ thay đổi trực tiếp danh sách ban đầu.
my_list = [1, 2, 3]
my_list.append(4)
print(my_list) # Kết quả: [1, 2, 3, 4]
# Lưu ý: Nếu append một list khác, list đó sẽ trở thành 1 phần tử lồng nhau
my_list.append([5, 6])
print(my_list) # Kết quả: [1, 2, 3, 4, [5, 6]]
2. Phương thức extend(): Mở rộng danh sách bằng danh sách khác
Nếu bạn muốn thêm tất cả các phần tử của một tập hợp (list, tuple, set,...) vào danh sách hiện tại thay vì thêm nguyên cả tập hợp đó như một phần tử đơn lẻ, hãy sử dụng extend().
numbers = [1, 2, 3]
more_numbers = [4, 5, 6]
numbers.extend(more_numbers)
print(numbers) # Kết quả: [1, 2, 3, 4, 5, 6]
3. Phương thức insert(): Chèn phần tử vào vị trí xác định
Phương thức insert(index, element) cho phép bạn chèn một phần tử vào bất kỳ chỉ số (index) nào trong danh sách. Các phần tử phía sau sẽ tự động lùi về sau một vị trí.
fruits = ['táo', 'chuối', 'cam']
# Chèn 'xoài' vào vị trí có chỉ số 1 (vị trí thứ 2)
fruits.insert(1, 'xoài')
print(fruits) # Kết quả: ['táo', 'xoài', 'chuối', 'cam']
4. Thêm phần tử trong mảng NumPy (numpy.ndarray)
Khác với list, mảng trong NumPy có kích thước cố định trong bộ nhớ. Do đó, hàm np.append() hoặc np.insert() không làm thay đổi mảng cũ mà sẽ tạo và trả về một mảng hoàn toàn mới.
import numpy as np
arr = np.array([1, 2, 3])
new_arr = np.append(arr, [4, 5])
print("Mảng cũ:", arr) # Kết quả: [1 2 3]
print("Mảng mới:", new_arr) # Kết quả: [1 2 3 4 5]
5. Những lỗi thường gặp cần tránh
- Gán kết quả của
append()hayextend()vào biến mới: Các phương thức này chỉnh sửa danh sách tại chỗ (in-place) và trả vềNone. Do đó, lệnhnew_list = old_list.append(5)sẽ khiếnnew_listnhận giá trịNone. - Nhầm lẫn giữa
append()vàextend(): Hãy nhớ rằngappend()thêm nguyên đối tượng truyền vào, cònextend()sẽ duyệt qua đối tượng truyền vào và thêm từng phần tử của nó vào danh sách gốc.
Tùy thuộc vào bản chất dữ liệu và bài toán thực tế, bạn có thể lựa chọn phương thức thêm phần tử tối ưu nhất cho chương trình Python của mình!
Ngày phát hành: 12/06/2026
Nguồn: www.digitalocean.com