Nối mảng là thao tác kết hợp hai hoặc nhiều mảng thành một mảng duy nhất, giúp tối ưu việc xử lý dữ liệu trong lập trình. Trong bài viết này, bạn sẽ tìm hiểu các phương pháp nối mảng phổ biến, bao gồm sử dụng append()
, toán tử +
, và phương thức extend()
. Mỗi phương pháp đều có cách hoạt động riêng, phù hợp với từng tình huống cụ thể.
Điểm chính cần nắm
- Nối mảng trong Python là gì? Đây chỉ quá trình kết hợp hai hoặc nhiều mảng thành một mảng duy nhất, giúp xử lý và quản lý dữ liệu hiệu quả hơn.
- Cách nối mảng trong Python: Có nhiều cách để nối mảng như sử dụng
append()
, toán tử+
và phương thứcextend()
, mỗi phương pháp có ưu điểm riêng phù hợp với từng trường hợp. - Vietnix – Giải pháp lưu trữ uy tín, tốc độ, bảo mật: Cung cấp dịch vụ server, hosting, VPS chất lượng cao với đội ngũ hỗ trợ 24/7, giúp doanh nghiệp tối ưu hiệu suất và bảo mật dữ liệu.
Nối mảng trong Python là gì?
Nối mảng (array merging/concatenation) là quá trình kết hợp hai hoặc nhiều mảng lại với nhau để tạo thành một mảng mới chứa tất cả các phần tử từ các mảng ban đầu. Trong Python, quá trình này có thể thực hiện bằng nhiều cách như sử dụng phương thức append()
, extend()
hoặc toán tử +
. Tuy nhiên, trước khi nối mảng, bạn cần đảm bảo rằng rằng cả hai mảng đều có cùng kiểu dữ liệu để tránh sinh lỗi.

Trong Python, mảng là một tập hợp đồng nhất của các kiểu dữ liệu tích hợp sẵn như chuỗi, số nguyên hoặc đối tượng số thực. Tuy nhiên, bản thân mảng không phải là một kiểu dữ liệu tích hợp sẵn, thay vào đó chúng ta cần sử dụng mô-đun array tích hợp sẵn của Python.
Khi làm việc với dữ liệu trong Python, ngoài việc tối ưu code, bạn cũng cần một môi trường lập trình ổn định, tốc độ cao để đảm bảo hiệu suất tốt nhất. Với các gói hosting/VPS tại Vietnix, bạn có thể triển khai ứng dụng nhanh chóng, truy xuất dữ liệu mượt mà và làm việc hiệu quả hơn
3 cách nối mảng trong Python
Trong Python, có nhiều cách để nối (merge) hai hoặc nhiều mảng tùy vào kiểu dữ liệu sử dụng. Dưới đây là các cách phổ biến:
- Dùng
append()
– Thêm từng phần tử từ mảng này vào mảng kia. - Dùng
+
– Chuyển mảng thành list, nối lại rồi chuyển về mảng. - Dùng
extend()
– Mở rộng mảng bằng danh sách chứa các phần tử của mảng khác.

Dùng append()
để nối mảng trong Python
Phương thức append()
trong Python cho phép thêm một phần tử vào cuối mảng. Để nối hai mảng bằng append()
, bạn cần duyệt qua từng phần tử của mảng thứ hai và thêm vào mảng thứ nhất bằng cách chạy vòng lặp for
.
Cú pháp:
array.append(x)
# array là mảng cần thêm phần tử
# x là phần tử được thêm vào cuối mảng
Ví dụ:
import array as arr
# Tạo hai mảng số nguyên
a = arr.array('i', [10, 5, 15, 4, 6, 20, 9])
b = arr.array('i', [2, 7, 8, 11, 3, 10])
# Duyệt qua từng phần tử của b và thêm vào a
for item in b:
a.append(item)
print(a)
Kết quả:
array(‘i’, [10, 5, 15, 4, 6, 20, 9, 2, 7, 8, 11, 3, 10])
Lưu ý
append()
chỉ thêm từng phần tử, không thể nối cả mảng trực tiếp.- Cần dùng vòng lặp để thêm từng phần tử từ mảng này vào mảng kia.
- Hai mảng phải có cùng kiểu dữ liệu, nếu không sẽ bị lỗi.
Dùng toán tử +
để nối mảng trong Python
Toán tử +
trong Python cho phép nối hai mảng bằng cách ghép các phần tử của chúng lại thành một mảng mới. Tuy nhiên, vì kiểu dữ liệu array
trong Python không hỗ trợ trực tiếp toán tử +
, ta cần chuyển đổi mảng thành danh sách trước khi nối.
Cách thực hiện:
- Chuyển hai mảng thành danh sách bằng phương thức
.tolist()
. - Dùng toán tử
+
để nối hai danh sách. - Chuyển kết quả trở lại dạng mảng nếu cần.
Ví dụ:
import array as arr
# Tạo hai mảng số nguyên
a = arr.array('i', [10, 5, 15, 4, 6, 20, 9])
b = arr.array('i', [2, 7, 8, 11, 3, 10])
# Chuyển mảng thành danh sách, nối lại, rồi chuyển về mảng
a = arr.array('i', a.tolist() + b.tolist())
print(a)
Kết quả:
array(‘i’, [10, 5, 15, 4, 6, 20, 9, 2, 7, 8, 11, 3, 10])
Lưu ý
- Toán tử
+
không hoạt động trực tiếp với kiểuarray
. Cần chuyển thành danh sách trước khi nối. - Hai mảng phải có cùng kiểu dữ liệu (ví dụ:
'i'
cho số nguyên). - Dùng cách này nếu muốn tạo một mảng mới thay vì thay đổi mảng ban đầu.
Dùng extend()
để nối mảng trong Python
Phương thức extend()
giúp mở rộng một mảng bằng cách thêm toàn bộ phần tử từ một mảng khác vào cuối mảng hiện có. Không cần vòng lặp hay chuyển đổi dữ liệu, chỉ cần gọi extend()
là đủ.
Cách thực hiện:
- Gọi
extend()
trên mảng gốc. - Truyền vào một mảng khác có cùng kiểu dữ liệu.
- Mảng ban đầu sẽ được mở rộng mà không cần tạo mảng mới.
Ví dụ:
import array as arr
# Tạo hai mảng số nguyên
a = arr.array('i', [88, 99, 77, 66, 44, 22])
b = arr.array('i', [12, 17, 18, 11, 13, 10])
# Nối mảng b vào mảng a bằng extend()
a.extend(b)
print(a)
Kết quả:
array(‘i’, [88, 99, 77, 66, 44, 22, 12, 17, 18, 11, 13, 10])
Lưu ý
extend()
thay đổi mảng gốc thay vì tạo mảng mới.- Hai mảng phải có cùng kiểu dữ liệu (ví dụ:
'i'
cho số nguyên). - Cách này hiệu quả hơn
+
nếu không cần tạo một mảng mới.
Vietnix – Giải pháp lưu trữ uy tín, tốc độ, bảo mật
Vietnix là nhà cung cấp dịch vụ thuê máy chủ, hosting, VPS, domain hàng đầu tại Việt Nam, mang đến giải pháp lưu trữ hiệu quả, an toàn cho cá nhân và doanh nghiệp. Với cam kết chất lượng vượt trội cùng đội ngũ kỹ thuật hỗ trợ 24/7, Vietnix đã trở thành lựa chọn tin cậy của hơn 80.000 khách hàng. Hệ thống máy chủ mạnh mẽ, bảo mật cao giúp tối ưu hiệu suất và đảm bảo an toàn dữ liệu cho doanh nghiệp của bạn.
Thông tin liên hệ:
- Website: https://vietnix.vn/
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, TP. Hồ Chí Minh
Câu hỏi thường gặp
Có thể nối nhiều hơn hai mảng trong Python không?
Có, Python cho phép bạn nối nhiều hơn hai mảng bằng cách sử dụng các phương pháp như extend()
, toán tử +
, hoặc numpy.concatenate()
. Nếu sử dụng danh sách, bạn có thể nối nhiều danh sách cùng lúc bằng cú pháp [list1, list2, list3]
. Với numpy
, bạn có thể truyền vào một danh sách chứa nhiều mảng và sử dụng np.concatenate()
để kết hợp tất cả thành một mảng duy nhất.
Nối mảng bằng append()
và extend()
khác nhau như thế nào?
Phương thức append()
thêm toàn bộ một mảng khác vào cuối mảng hiện tại dưới dạng một phần tử đơn lẻ, trong khi extend()
thêm từng phần tử của mảng khác vào mảng gốc. Điều này có nghĩa là nếu dùng append()
, mảng gốc sẽ chứa một phần tử là mảng con, còn nếu dùng extend()
, các phần tử trong mảng con sẽ được thêm vào trực tiếp.
Có thể dùng numpy
để nối mảng không?
Có, thư viện numpy
cung cấp cách nối mảng hiệu quả hơn khi làm việc với dữ liệu số. Bạn có thể sử dụng numpy.concatenate()
, numpy.hstack()
(nối theo chiều ngang), hoặc numpy.vstack()
(nối theo chiều dọc) để kết hợp các mảng một cách linh hoạt.
Dùng toán tử +
có nhược điểm gì không?
Mặc dù toán tử +
giúp nối hai danh sách hoặc mảng một cách dễ dàng, nhưng nó tạo ra một mảng mới thay vì thay đổi mảng gốc. Điều này có thể dẫn đến việc tiêu tốn bộ nhớ nhiều hơn, đặc biệt khi nối nhiều mảng lớn liên tiếp. Nếu cần tối ưu bộ nhớ, bạn nên dùng extend()
thay vì +
.
Có thể nối mảng chứa các kiểu dữ liệu khác nhau không?
Nếu sử dụng danh sách (list
), bạn có thể nối các mảng chứa các kiểu dữ liệu khác nhau như số nguyên, chuỗi, hoặc kiểu boolean. Tuy nhiên, nếu sử dụng array
từ mô-đun array
, tất cả phần tử phải có cùng kiểu dữ liệu. Với numpy
, bạn có thể sử dụng mảng kiểu object
để chứa các kiểu dữ liệu khác nhau, nhưng điều này có thể ảnh hưởng đến hiệu suất xử lý.
Nối mảng có ảnh hưởng đến hiệu suất không?
Có, việc nối mảng liên tục có thể ảnh hưởng đến hiệu suất, đặc biệt khi sử dụng toán tử +
vì nó tạo một bản sao mới của mảng. Nếu bạn cần nối nhiều mảng, nên sử dụng extend()
hoặc numpy.concatenate()
để tối ưu hiệu suất và tiết kiệm bộ nhớ.
Lời kết
Trên đây là những cách phổ biến để nối mảng trong Python, giúp bạn linh hoạt hơn trong việc xử lý dữ liệu. Tùy vào từng trường hợp, bạn có thể chọn phương pháp tối ưu để đảm bảo hiệu suất và độ rõ ràng của mã nguồn. Nếu bạn có bất cứ thắc mắc hay cần hỗ trợ gì, hãy để lại bình luận bên dưới, mình sẽ hỗ trợ nhanh nhất. Cảm ơn bạn đã đọc!
Mọi người cũng xem: