Tham gia hai danh sách Python

Kết hợp các chuỗi hoặc ký tự trong lập trình được gọi là nối. Trong Python, phép nối có thể được thực hiện trên các số, chuỗi và các phần tử của danh sách. Ví dụ: bạn có thể thêm một chuỗi “Này” và một chuỗi khác “có. ” để tạo thành một chuỗi mới “Xin chào. ”. Bạn cũng có thể cộng hai số như 2 và 5 để được kết quả là 7. Hình thức nối phổ biến nhất là sử dụng toán tử +

Nối hoặc hợp nhất hai hoặc nhiều danh sách là thao tác phổ biến của lập trình viên. Trong hướng dẫn này, chúng ta sẽ nối danh sách có và không có phần tử trùng lặp

1] Sử dụng + Toán tử

Đây là một toán tử rất phổ biến để nối các danh sách, nó chỉ cần thêm danh sách vào sau danh sách khác

Thí dụ

# Python program to merge lists
# Using + Operator

# Initializing lists
list1 = [2,3,4,2,2]
list2 = [4,5,6,7,34,56]
list3 = [1,5,33,2,34,46]

# merge lists using + Operator
newlist = list1 + list2 + list3

# Print output
print['Merged List: ',newlist]

đầu ra

Merged List: [2, 3, 4, 2, 2, 4, 5, 6, 7, 34, 56, 1, 5, 33, 2, 34, 46]

Ghi chú

  • Nó giữ lại thứ tự của các phần tử danh sách
  • Chứa các phần tử trùng lặp
  • Nối hai hoặc nhiều danh sách

Giải trình

Ở đây, ba danh sách được kết hợp với nhau bằng toán tử +. Điều này được sử dụng vì toán tử + là một trong những cách dễ nhất để kết hợp nhiều danh sách thành một danh sách duy nhất.   

2] Sử dụng chức năng mở rộng []

hàm extension[] cũng được dùng để nối các danh sách, nó chỉ cần thêm toàn bộ danh sách vào cuối danh sách đầu tiên

Thí dụ

# Python program to concatenate lists
# Using extend function 

# Initializing lists
list1 = [2,3,4,2,2]
list2 = [4,5,6,7,34,56]
list3 = [4,67,2,2,4,66]

# concatenate lists using extend[]
list1.extend[list2]
list1.extend[list3]

# Print output
print['Concatenated List: ',list1]

đầu ra

Concatenated List: [2, 3, 4, 2, 2, 4, 5, 6, 7, 34, 56, 4, 67, 2, 2, 4, 66]

Ghi chú.  

  • Nó giữ lại thứ tự của các phần tử danh sách
  • Chứa các phần tử trùng lặp
  • Nó chỉ nối hai danh sách; .  

Giải trình

Trong chương trình này, phương thức mở rộng[] được sử dụng để nối cả ba danh sách lại với nhau. Bạn có thể thấy rằng phương thức mở rộng[] được sử dụng hai lần để hợp nhất danh sách thứ hai và thứ ba với danh sách đầu tiên. Như đã đề cập trước đó, phương thức không thể thêm nhiều hơn hai danh sách. Do đó, nó được sử dụng hai lần để thêm danh sách thứ nhất với danh sách thứ hai và thứ ba.          

3] Sử dụng toán tử [*]

Toán tử [*] hoạt động giống như toán tử [+], với toán tử này, chúng ta có thể nối vào hoặc nhiều danh sách hơn, nó hoạt động với Python 3. 6+ phiên bản

Thí dụ

# Python program to merge lists
# Using * Operator

# Initializing lists
list1 = [2,3,4,2,2]
list2 = [4,5,6,7,34,56]
list3 = [1,5,33,2,34,46]

# merge lists using * Operator
newlist = [*list1, *list2, *list3]

# Print output
print[Concatenated List: ',newlist]

đầu ra

Concatenated List: [2, 3, 4, 2, 2, 4, 5, 6, 7, 34, 56, 1, 5, 33, 2, 34, 46]

Ghi chú

  • Nó giữ lại thứ tự của các phần tử danh sách
  • Chứa các phần tử trùng lặp
  • Nối hai hoặc nhiều danh sách

Giải trình

Ở đây, toán tử [*] được sử dụng để hợp nhất ba danh sách lại với nhau trong khi vẫn giữ nguyên thứ tự của các phần tử. Toán tử [*] được sử dụng ở đây vì có thể dễ dàng thêm nhiều danh sách bằng cách sử dụng nó.     

4] Sử dụng itertools. chuỗi[]

Thí dụ

# Python program to concatenate lists
# Using itertools

import itertools

# Initializing lists
list1 = [2,3,4,2,2]
list2 = [4,5,6,7,34,56]
list3 = [1,5,33,2,34,46]

# Concatenate lists using itertools
newlist = list[itertools.chain[list1, list2, list3]] 

# Print output
print['Concatenated List: ',newlist]

đầu ra

Concatenated List:  [2, 3, 4, 2, 2, 4, 5, 6, 7, 34, 56, 1, 5, 33, 2, 34, 46]

Ghi chú.  

  • Hoạt động với mảng numpy
  • Nó giữ lại thứ tự của phần tử danh sách
  • Chứa các phần tử trùng lặp
  • Nối hai hoặc nhiều danh sách

Giải trình

Trong dòng đầu tiên, từ khóa nhập được sử dụng để tải mô-đun itertools. Các biến list1, list2 và list3 được gán giá trị lần lượt là [2,3,4,2,2], [4,5,6,7,34,56] và [1,5,33,2,34,46]. Sau đó, một biến danh sách mới được gán các giá trị nối của ba danh sách

Trong dòng tiếp theo, itertools. phương thức chain[] được truyền các đối số của list1, list2 và list3. Phương thức này nhận nhiều đối số và trả về một chuỗi các mục. Vì vậy, phương thức chain[] nối cả ba danh sách. Kết quả của lời gọi phương thức được chuyển đổi thành một danh sách bằng cách sử dụng phương thức list[]

Biến danh sách mới được in ở dòng cuối cùng của chương trình bằng cách sử dụng mã print['Concatenated List. ',danh sách mới].  

5] Sử dụng hàm gốc

Để nối hai danh sách, trước tiên chúng ta sẽ duyệt qua danh sách thứ hai bằng vòng lặp for. Chúng tôi sẽ tiếp tục nối các phần tử của danh sách này vào danh sách đầu tiên. Kết quả là, hai danh sách sẽ được thêm vào.  

Thí dụ

________số 8_______

đầu ra

Concatenate List: [2, 3, 4, 2, 2, 4, 5, 6, 7, 34, 56]

Giải trình

Hãy để chúng tôi cố gắng hiểu mã này. Ở đây, một vòng lặp for được sử dụng để thêm hai danh sách bằng phương thức append[]. Quá trình này được sử dụng khi phương thức append[] thêm một phần tử vào cuối danh sách. Do đó, từng phần tử của list2 được thêm vào list1, từng phần tử một bằng cách sử dụng vòng lặp for

Ví dụ mã dòng đơn

Merged List: [2, 3, 4, 2, 2, 4, 5, 6, 7, 34, 56, 1, 5, 33, 2, 34, 46]
0

đầu ra

Concatenated List: [2, 3, 4, 2, 2, 4, 5, 6, 7, 34, 56, 1, 5, 33, 2, 34, 46]

Giải trình

Chúng ta có thể quan sát thấy rằng phiên bản tốc ký của vòng lặp for được sử dụng ở đây để nối. Kỹ thuật hiểu danh sách này được sử dụng để tránh viết nhiều vòng lặp bên trong, vì có ba danh sách phải được thêm vào. Nhờ đó, quy trình diễn ra nhanh chóng và hiệu quả

Hợp nhất hoặc nối các danh sách không trùng lặp

Từ tất cả các ví dụ trên, chúng ta có thể thấy rằng danh sách nối cuối cùng có các phần tử trùng lặp, nếu chúng ta muốn loại bỏ trùng lặp khỏi danh sách thì chúng ta cần chuyển đổi danh sách thành “set” và sau đó chuyển đổi lại thành “list. ”

Thí dụ

Merged List: [2, 3, 4, 2, 2, 4, 5, 6, 7, 34, 56, 1, 5, 33, 2, 34, 46]
2

đầu ra

Merged List: [2, 3, 4, 2, 2, 4, 5, 6, 7, 34, 56, 1, 5, 33, 2, 34, 46]
3

Giải trình

Bạn có thể thấy rằng mục đích chính của chương trình được sử dụng để hợp nhất ba danh sách không có phần tử trùng lặp. Vì vậy, sau khi nối các danh sách bằng toán tử +, danh sách kết quả được chuyển đến phương thức set[] dựng sẵn. Vì các bộ Python không có bất kỳ phần tử trùng lặp nào, điều này sẽ loại bỏ tất cả các phần tử trùng lặp khỏi danh sách nối. Khi chúng tôi yêu cầu một danh sách, tập hợp này được chuyển đổi thành một danh sách bằng cách sử dụng phương thức list[].     

Phần kết luận

Nối là một trong những cách dễ nhất để kết hợp các phần tử danh sách hoặc chuỗi trong khi viết mã trong Python. Nhưng trong khi sử dụng phương thức chain[], hãy nhập mô-đun itertools bằng cách sử dụng câu lệnh nhập. Ngoài ra, bạn cũng có thể sử dụng các phương thức như join[] để nối hai chuỗi

Bạn có thể nối các danh sách bằng Python không?

Có một số cách để tham gia hoặc nối hai hoặc nhiều danh sách trong Python. Một trong những cách dễ nhất là sử dụng toán tử + .

Làm cách nào để hợp nhất hai mảng trong Python?

Bạn có thể sử dụng numpy. hàm nối [] để nối, hợp nhất hoặc nối một chuỗi gồm hai hoặc nhiều mảng thành một mảng NumPy. Ghép nối đề cập đến việc đặt nội dung của hai hoặc nhiều mảng trong một mảng.

Chủ Đề