Trong Python một trong những thao tác thường gặp là nối list, giúp bạn kết hợp các danh sách riêng lẻ thành một danh sách lớn hơn. Có nhiều phương pháp để thực hiện việc này, từ sử dụng toán tử đơn giản đến các hàm tích hợp sẵn. Để hiểu rõ hơn về khái niệm này và khám phá các cách nối list trong Python hiệu quả, mời bạn theo dõi bài viết dưới đây.
Các điểm chính
Khi đọc xong bài viết, bạn sẽ:
- Hiểu rõ khái niệm nối list trong Python: Bạn sẽ nắm được định nghĩa, mục đích của việc nối list, và tại sao nó lại quan trọng trong lập trình Python.
- Làm chủ 4 phương pháp nối list phổ biến nhất trong Python: Bạn sẽ được hướng dẫn chi tiết cách sử dụng toán tử
+
, List Comprehension, hàmappend()
vàextend()
để nối list. Mỗi phương pháp đều đi kèm ví dụ minh họa dễ hiểu, giúp bạn áp dụng ngay vào thực tế. - Biết cách lựa chọn phương pháp nối list phù hợp với từng tình huống cụ thể: Bạn sẽ hiểu rõ ưu nhược điểm của từng phương pháp, từ đó đưa ra quyết định đúng đắn, tối ưu hóa code của mình.
- Nâng cao kỹ năng lập trình Python một cách vững chắc: Bằng việc thực hành nối list, bạn sẽ làm quen với những thao tác cơ bản trong Python, đặt nền móng cho việc học các kiến thức nâng cao hơn.
Nối list trong Python là gì?
Nối List trong Python là việc kết hợp các phần tử của nhiều List thành một List duy nhất. Chúng ta có thể thực hiện điều này bằng nhiều cách, ví dụ như sử dụng phép nối, List comprehension, hoặc dùng các hàm có sẵn như extend() hoặc toán tử +.

Lưu ý: Việc nối List không làm thay đổi các List ban đầu, mà sẽ tạo ra một List mới chứa tất cả các phần tử được kết hợp.
Nối list trong Python bằng toán tử +
Toán tử nối trong Python, ký hiệu là +
, được sử dụng để kết hợp hai chuỗi, chẳng hạn như string, List, hoặc tuple, thành một chuỗi duy nhất. Khi áp dụng cho List, toán tử nối sẽ kết hợp các phần tử của hai (hoặc nhiều) List để tạo ra một List mới chứa tất cả các phần tử từ các List đó.
Chúng ta có thể nối List bằng cách đơn giản sử dụng ký hiệu + để nối các List. Ví dụ:
trai_cay_mua_xuan = ["Dâu tây", "Mận", "Đào"]
trai_cay_mua_he = ["Dưa hấu", "Vải", "Xoài"]
# Nối hai list
tat_ca_trai_cay = trai_cay_mua_xuan + trai_cay_mua_he
print("Các loại trái cây:", tat_ca_trai_cay)
Kết quả sau khi chạy code:
Các loại trái cây: [‘Dâu tây’, ‘Mận’, ‘Đào’, ‘Dưa hấu’, ‘Vải’, ‘Xoài’]
Giải thích:
trai_cay_mua_xuan
vàtrai_cay_mua_he
: là haiList
chứa tên các loại trái cây.tat_ca_trai_cay = trai_cay_mua_xuan + trai_cay_mua_he
: sử dụng toán tử+
để nối haiList
này lại.- Kết quả được lưu trong biến
tat_ca_trai_cay
, chứa tất cả các loại trái cây từ cả hai mùa. - Khi chạy ta nhận được
List tat_ca_trai_cay
.
Nối list trong Python với List Comprehension
List comprehension là một cách ngắn gọn để tạo các List trong Python. Nó được dùng để tạo các List mới bằng cách áp dụng một biểu thức cho từng phần tử trong một iterable (đối tượng có thể lặp qua) hiện có, như là List, tuple, hoặc range. Cú pháp của List Comprehension như sau:
new_list = [biểu_thức for phần_tử in đối_tượng_có_thể_lặp]
Câu lệnh trên sẽ tạo ra một new_list
mới, trong đó biểu_thức được tính toán cho mỗi phần_tử
trong đối_tượng_có_thể_lặp
.
Chúng ta có thể nối các List bằng cách sử dụng List Comprehension, bằng cách duyệt qua nhiều List và thêm các phần tử của chúng vào một List mới.
Trong ví dụ này, chúng ta sẽ nối hai List, L1 và L2, thành một List duy nhất sử dụng List Comprehension. List kết quả, joined_list
, sẽ chứa tất cả các phần tử từ cả L1 và L2:
# Hai List cần nối
L1 = [36, 24, 3]
L2 = [84, 5, 81]
# Nối các List sử dụng List Comprehension
joined_list = [item for sublist in [L1, L2] for item in sublist]
# In ra List đã nối
print("Joined List:", joined_list)
Kết quả của đoạn code trên như sau:
Joined List: [36, 24, 3, 84, 5, 81]
Giải thích chi tiết:
L1 = [36, 24, 3]
vàL2 = [84, 5, 81]
: Khai báo haiList
ban đầu.joined_list = [item for sublist in [L1, L2] for item in sublist]
: Đây là phần chính sử dụng List Comprehension:[L1, L2]
: Tạo mộtList
tạm thời chứa haiList
L1
vàL2
.for sublist in [L1, L2]
: Vòng lặp này duyệt qua từngList
con (L1
vàL2
) trongList
tạm thời vừa tạo.sublist
lần lượt nhận giá trị làL1
rồi đếnL2
.for item in sublist
: Với mỗisublist
(tức làL1
hoặcL2
), vòng lặp này duyệt qua từngitem
(phần tử) trongsublist
đó.item
: Chính là biểu thức được sử dụng trong List Comprehension này. Giá trị của mỗiitem
(từng phần tử trongL1
vàL2
) sẽ được thêm vàojoined_list
.
Dùng hàm append() để nối list trong Python
Hàm append()
trong Python được sử dụng để thêm một phần tử duy nhất vào cuối của một List. Hàm này thay đổi trực tiếp List gốc bằng cách thêm phần tử vào vị trí cuối cùng trong List.
Chúng ta có thể nối một List bằng cách sử dụng hàm append()
thông qua việc duyệt qua các phần tử của một List và thêm từng phần tử vào một List khác.
Trong ví dụ dưới đây, các phần tử từ list2 sẽ được thêm vào list1 bằng cách sử dụng hàm append()
. Để thực hiện việc này, chúng ta lặp qua từng phần tử trong list2 và thêm phần tử đó vào list1:
# List mà các phần tử sẽ được thêm vào
list1 = ['Trái cây', 'Số', 'Động vật']
# List chứa các phần tử sẽ được thêm
list2 = ['Táo', 5, 'Chó']
# Nối các list sử dụng hàm append()
for phan_tu in list2:
list1.append(phan_tu)
# In ra list sau khi đã nối
print("List sau khi nối:", list1)
Kết quả khi chạy đoạn code trên sẽ là:
List sau khi nối: [‘Trái cây’, ‘Số’, ‘Động vật’, ‘Táo’, 5, ‘Chó’]
Giải thích code:
list1 = ['Trái cây', 'Số', 'Động vật']
: Khởi tạolist1
ban đầu với ba phần tử chuỗi (string).list2 = ['Táo', 5, 'Chó']
: Khởi tạolist2
với ba phần tử, bao gồm cả chuỗi và số.for phan_tu in list2:
: Vòng lặpfor
này duyệt qua từng phần tử tronglist2
. Với mỗi lần lặp,phan_tu
sẽ lần lượt mang giá trị của từng phần tử tronglist2
.list1.append(phan_tu)
: Trong mỗi lần lặp, phần tửphan_tu
hiện tại (từlist2
) được thêm vào cuốilist1
bằng phương thứcappend()
.print("List sau khi nối:", list1)
: In raList
sau khi đã thay đổi (list1
).
Dùng hàm extend() để nối list trong Python
Hàm extend()
trong Python được sử dụng để nối các phần tử từ một đối tượng iterable – ví dụ như một List khác – vào cuối của một List hiện có. Hàm này sẽ thay đổi trực tiếp List gốc, thêm các phần tử của đối tượng iterable vào cuối List đó.
Chúng ta có thể nối hai Lists bằng cách gọi hàm extend()
trên List thứ nhất và truyền List thứ hai (hoặc bất kỳ đối tượng iterable như một đối số. Thao tác này sẽ thêm tất cả các phần tử từ List thứ hai vào cuối List thứ nhất.
Trong ví dụ sau, chúng ta có hai danh sách, một danh sách các loại quả và một danh sách các loại rau. Chúng ta sẽ mở rộng danh sách loại quả bằng cách thêm các phần tử của danh sách loại rau sử dụng hàm extend()
.
# List các loại quả
trai_cay = ["xoài", "dứa", "mít"]
# List các loại rau
rau_cu = ["cà rốt", "bắp cải", "súp lơ"]
# Nối hai Lists sử dụng hàm extend()
trai_cay.extend(rau_cu)
# In ra List sau khi đã mở rộng
print("Danh sách sau khi nối:", trai_cay)
Kết quả đầu ra sẽ như sau:
Danh sách sau khi nối: [‘xoài’, ‘dứa’, ‘mít’, ‘cà rốt’, ‘bắp cải’, ‘súp lơ’]
Giải thích code:
trai_cay = ["xoài", "dứa", "mít"]
: Tạo một List có têntrai_cay
chứa các phần tử là tên các loại trái cây.rau_cu = ["cà rốt", "bắp cải", "súp lơ"]
: Tạo một List khác có tênrau_cu
chứa các phần tử là tên các loại rau củ.trai_cay.extend(rau_cu)
: Đây là phần quan trọng. Dòng lệnh này gọi phương thứcextend()
trêntrai_cay
, và truyềnrau_cu
vào. Kết quả là tất cả phần tử củarau_cu
sẽ được thêm vào cuối củatrai_cay
.print("Danh sách sau khi nối:", trai_cay)
: In Listtrai_cay
ra sau khi đã được mở rộng.
Lời kết
Vậy là chúng ta đã cùng nhau khám phá các phương pháp nối list (list concatenation) đa dạng và hiệu quả trong Python. Từ toán tử + quen thuộc, sức mạnh của List Comprehension, đến tính linh hoạt của append() và extend(). Hy vọng những kiến thức này sẽ giúp bạn xử lý các bài toán liên quan đến list một cách dễ dàng và tối ưu hơn trong quá trình lập trình Python của mình.
Mọi người cũng đọc