Python nối nhiều danh sách

Trong python, chúng ta có thể sử dụng toán tử + để hợp nhất nội dung của hai danh sách thành một danh sách mới. Ví dụ,

Chúng ta có thể sử dụng toán tử + để hợp nhất hai danh sách i. e

# List of strings
list_1 = ["This" , "is", "a", "sample", "program"]

# List of ints
list_2 = [10, 2, 45, 3, 5, 7, 8, 10]

# Merge two lists
final_list = list_1 + list_2

print['Merged List:']
print[final_list]

đầu ra

Merged List:
['This', 'is', 'a', 'sample', 'program', 10, 2, 45, 3, 5, 7, 8, 10]

Nó trả về một danh sách nối mới, chứa nội dung của cả list_1 và list_2. Trong khi đó, list_1 và list_2 vẫn giữ nguyên như ban đầu

Tham gia/Hợp nhất hai danh sách trong python bằng danh sách. gia hạn[]

Trong ví dụ trước, chúng ta đã tạo một danh sách mới chứa nội dung của cả hai danh sách. Nhưng nếu chúng ta muốn mở rộng bất kỳ danh sách hiện có nào thì sao? . e

list.extend[anotherList]

danh sách. extension[] làm cho danh sách dài hơn bằng cách nối thêm các phần tử của danh sách khác vào cuối đối tượng danh sách đang gọi. Ví dụ,

# List of strings
list_1 = ["This" , "is", "a", "sample", "program"]

# List of ints
list_2 = [10, 2, 45, 3, 5, 7, 8, 10]

# Makes list1 longer by appending the elements of list2 at the end.
list_1.extend[list_2]

print['Merged List:']
print[list_1]

đầu ra

Merged List:
['This', 'is', 'a', 'sample', 'program', 10, 2, 45, 3, 5, 7, 8, 10]

Nó mở rộng danh sách_1 bằng cách thêm nội dung của danh sách_2 vào cuối danh sách_1

Tham gia/Hợp nhất hai danh sách trong python bằng cách giải nén

Trong python, chúng ta có thể giải nén nội dung trên bất kỳ đối tượng có thể lặp lại nào bằng toán tử *. Vì vậy, *list sẽ giải nén nội dung của danh sách. Chúng tôi có thể giải nén nội dung của cả hai danh sách và tạo danh sách mới với nội dung được hợp nhất. Ví dụ,

# List of strings
list_1 = ["This" , "is", "a", "sample", "program"]

# List of ints
list_2 = [10, 2, 45, 3, 5, 7, 8, 10]

# Merge two lists
final_list = [*list_1, *list_2]

print['Merged List:']
print[final_list]

đầu ra

Merged List:
['This', 'is', 'a', 'sample', 'program', 10, 2, 45, 3, 5, 7, 8, 10]

Nó giải nén nội dung của cả hai danh sách và tạo một danh sách mới với nội dung của cả hai danh sách

Tham gia/Hợp nhất hai danh sách trong python bằng itertools. chuỗi[]

Trong python, mô-đun itertools cung cấp một hàm chain[] để hợp nhất nội dung của nhiều chuỗi có thể lặp lại,

itertools.chain[*iterables]

Nó tạo ra một chuỗi gồm tất cả các chuỗi có thể lặp lại được truyền dưới dạng đối số và trả về một trình vòng lặp

Trình lặp này trả về các phần tử từ chuỗi có thể lặp lại đầu tiên cho đến khi nó cạn kiệt và sau đó chuyển sang trình lặp tiếp theo. Chúng tôi có thể sử dụng trình vòng lặp này để tạo danh sách nội dung được hợp nhất. Ví dụ,

['This', 'is', 'a', 'sample', 'program', 10, 2, 45, 3, 5, 7, 8, 10]
0

đầu ra

Merged List:
['This', 'is', 'a', 'sample', 'program', 10, 2, 45, 3, 5, 7, 8, 10]

Tham gia/Hợp nhất hai danh sách trong python bằng vòng lặp for

Chúng ta có thể lặp qua tất cả các phần tử của danh sách bằng cách sử dụng vòng lặp for và trong quá trình lặp, chúng ta có thể nối từng phần tử vào một danh sách khác. Bằng cách này, chúng ta có thể mở rộng nội dung của danh sách. Ví dụ,

['This', 'is', 'a', 'sample', 'program', 10, 2, 45, 3, 5, 7, 8, 10]
2

đầu ra

['This', 'is', 'a', 'sample', 'program', 10, 2, 45, 3, 5, 7, 8, 10]
3

Chúng tôi đã lặp lại tất cả các phần tử trong danh sách_2 và trong khi lặp lại đã thêm từng phần tử vào cuối danh sách_1. Do đó, danh sách_1 hiện được mở rộng và chứa nội dung của cả hai danh sách tôi. e. danh sách ban đầu_1 và danh sách_2

Trong bài viết này, chúng ta sẽ học cách nối hai hoặc nhiều danh sách lại với nhau trong Python. Chúng tôi cũng sẽ sử dụng một số hàm tích hợp và một số mã tùy chỉnh. Trước tiên, hãy xem nhanh danh sách là gì và sau đó cách nối các danh sách diễn ra trong Python

Danh sách Python

Python có một kiểu dữ liệu tích hợp được gọi là danh sách. Nó giống như một tập hợp các mảng với các phương pháp khác nhau. Dữ liệu bên trong danh sách có thể thuộc bất kỳ loại nào, chẳng hạn như số nguyên, chuỗi hoặc giá trị float hoặc thậm chí là loại danh sách. Danh sách sử dụng các giá trị được phân tách bằng dấu phẩy trong dấu ngoặc vuông để lưu trữ dữ liệu. Danh sách có thể được xác định bằng cách sử dụng bất kỳ tên biến nào và sau đó gán các giá trị khác nhau cho danh sách trong dấu ngoặc vuông. Danh sách được sắp xếp, có thể thay đổi có nghĩa là có thể thay đổi, có thể thay đổi giá trị khi tạo và cho phép các giá trị trùng lặp. Ví dụ,

Ví dụ về danh sách Python

list1 = [‘Ram’,’Arun’,‘Kiran’]
list2 = [16,78,32,67]
list3 = [‘apple’,’mango’,16,’cherry’,3.4]

Nối có nghĩa là cộng hai hoặc nhiều giá trị lại với nhau dưới dạng một thực thể duy nhất theo cách từ đầu đến cuối. Thao tác này hữu ích khi chúng ta có một số danh sách các phần tử cần được xử lý theo cách tương tự. Ghép nối có thể dẫn đến một danh sách sửa đổi ban đầu hoặc in danh sách sửa đổi mới. Hãy xem một số cách hữu ích để nối danh sách

Nối danh sách sử dụng toán tử Plus[+]

Toán tử này tương tự như thêm một thuộc tính. Nó kết hợp một tập hợp các giá trị khác với nhau. Đây là cách tiếp cận dễ dàng nhất để nối. Trong trường hợp này, hai hoặc nhiều danh sách được xác định để nối và sau đó kết quả được lưu trữ trong một biến mới. Nó nối thêm các giá trị theo thứ tự giống như được đưa ra trong danh sách ban đầu

Thí dụ. Nối hai danh sách

Nó tham gia hai danh sách. Nó có thể dễ dàng thêm toàn bộ list2 phía sau list1 khác và do đó thực hiện nối

list1 = ["x", "y" , "z"]
list2 = [1, 2, 3]

list3 = list1 + list2
print[list3]


['x', 'y', 'z', 1, 2, 3]

Thí dụ. Nối nhiều danh sách hơn

Nó tham gia hai hoặc nhiều danh sách. Cũng giống như 2 list trên, list1, list2, list3 sẽ lần lượt được thêm vào

list1 = ["x", "y" , "z"]
list2 = [1, 2, 3]
list3 = ["bat", "cat", "rat"]

list4 = list1 + list2 + list3
print[list4]


['x', 'y', 'z', 1, 2, 3, ‘bat’ , ‘cat’ , ‘rat’]

Nối danh sách bằng hàm append[]

Bằng cách sử dụng hàm append[], chương trình sẽ nối hai danh sách bằng cách nối các giá trị từ danh sách này sang danh sách khác. Trong phương pháp này, chúng tôi duyệt qua danh sách thứ hai và tiếp tục nối thêm các phần tử vào danh sách đầu tiên, để danh sách chính hiện có tất cả các phần tử của cả hai danh sách và do đó sẽ thực hiện nối thêm.

Thí dụ. Nối hai danh sách

Vòng lặp for sẽ lặp qua từng phần tử của list2 và sẽ nối từng phần tử đó vào list1

list1 = ["x", "y" , "z"]
list2 = [1, 2, 3]

for x in list2:
  list1.append[x]

print[list1]


['x', 'y', 'z', 1, 2, 3]

Thí dụ. Nối nhiều danh sách hơn

Tương tự như ví dụ trên, sẽ diễn ra hai lần. Đầu tiên, nó sẽ nối các phần tử từ list2 vào list1 và sau đó các phần tử của list3 sẽ được nối vào list1

list1 = ["x", "y" , "z"]
list2 = [1, 2, 3]
list3= ["bat", "cat", "rat"]

for x in list2:
  list1.append[x]

for x in list3:
  list1.append[x]

print[list1]


['a', 'b', 'c', 1, 2, 3, ‘bat’ , ‘cat’ , ‘rat’]

Nối danh sách bằng cách sử dụng hiểu danh sách

Nối danh sách cũng có thể được thực hiện bằng cách sử dụng kỹ thuật hiểu danh sách. Trong trường hợp này, một danh sách mới được tạo, phương thức này là phương thức thay thế một lần cho phương thức vòng lặp

list1 = [1, 4, 5, 6, 5]
list2 = [3, 5, 7, 2, 5]

# using list comprehension to concatenate
result = [y for x in [list1, list2] for y in x]

print ["Concatenated list using list comprehension: " + str[result]]


Nối danh sách bằng cách sử dụng hiểu danh sách. [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]

Nối danh sách sử dụng chức năng mở rộng []

list1 = ["x", "y" , "z"]
list2 = [1, 2, 3]

list3 = list1 + list2
print[list3]
0 là hàm được mở rộng bởi các danh sách trong ngôn ngữ Python và do đó có thể được sử dụng để thực hiện thao tác nối danh sách. Chức năng này thực hiện phần mở rộng tại chỗ của danh sách đầu tiên. Nó sửa đổi danh sách đầu tiên, không giống như toán tử +

list1 = [1, 4, 5, 6, 5]
list2 = [3, 5, 7, 2, 5]

# using list.extend[] to concat
list1.extend[list2]

print ["Concatenated list using list.extend[] : " str[list1]]


Nối danh sách bằng cách sử dụng danh sách. gia hạn[]. [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]

Nối danh sách sử dụng toán tử *

Phương thức này là phần bổ sung mới cho phép nối danh sách và sử dụng toán tử

list1 = ["x", "y" , "z"]
list2 = [1, 2, 3]

list3 = list1 + list2
print[list3]
1[dấu hoa thị] và chỉ hoạt động trong Python 3. phiên bản 6+. Bất kỳ số lượng danh sách nào cũng có thể được nối và trả về trong một danh sách mới bằng cách sử dụng toán tử này

list1 = [1, 4, 5, 6, 5]
list2 = [3, 5, 7, 2, 5]
list3 = [2, 6, 8, 9, 0]

# using * operator to concat
result = [*list1, *list2, *list3]

print ["Concatenated list using * operator : " + str[result]]


Nối danh sách bằng toán tử *. [1, 4, 5, 6, 5, 3, 5, 7, 2, 5, 2, 6, 8, 9, 0]

Danh sách nối bằng cách sử dụng itertools. chuỗi [] chức năng

Nếu danh sách của bạn lớn và hiệu quả là mối quan tâm thì hàm

list1 = ["x", "y" , "z"]
list2 = [1, 2, 3]

list3 = list1 + list2
print[list3]
2 rất hữu ích. Nó trả về khả năng lặp lại sau khi xâu chuỗi các đối số của nó thành một và do đó không yêu cầu lưu trữ danh sách được nối nếu chỉ cần lặp lại ban đầu. Điều này rất hữu ích khi danh sách nối chỉ được sử dụng một lần

import itertools

list1 = [1, 4, 5, 6, 5]
list2 = [3, 5, 7, 2, 5]
list3 = [7, 8, 9]

# using itertools.chain[] to concat
result = list[itertools.chain[list1, list2, list3]]

print ["Concatenated list using itertools.chain[] : " + str[result]]


Nối danh sách bằng itertools. chuỗi[]. [1, 4, 5, 6, 5, 3, 5, 7, 2, 5, 7, 8, 9]

Phần kết luận

Trong bài viết này, chúng ta đã học cách nối hai hoặc nhiều danh sách bằng cách sử dụng một số hàm tích hợp như

list1 = ["x", "y" , "z"]
list2 = [1, 2, 3]

list3 = list1 + list2
print[list3]
2,
list1 = ["x", "y" , "z"]
list2 = [1, 2, 3]

list3 = list1 + list2
print[list3]
0, append[],
list1 = ["x", "y" , "z"]
list2 = [1, 2, 3]

list3 = list1 + list2
print[list3]
6 và các toán tử như
list1 = ["x", "y" , "z"]
list2 = [1, 2, 3]

list3 = list1 + list2
print[list3]
7 và
list1 = ["x", "y" , "z"]
list2 = [1, 2, 3]

list3 = list1 + list2
print[list3]
8. Chúng tôi cũng đã sử dụng một số mã tùy chỉnh. Ví dụ: chúng tôi đã sử dụng khả năng hiểu danh sách để lặp lại các phần tử của danh sách và sau đó thêm các phần tử vào danh sách khác để thực hiện nối

Làm cách nào để kết hợp 3 danh sách thành một Python?

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.

Làm cách nào để kết hợp 2 danh sách thành 1 trong Python?

Thao tác này hữu ích khi chúng ta có nhiều danh sách các phần tử cần được xử lý theo cách tương tự. .
Phương pháp số 1. Sử dụng phương pháp ngây thơ
Phương pháp #2. Sử dụng toán tử +
Phương pháp #3. Sử dụng hiểu danh sách
Phương pháp #4. Sử dụng phần mở rộng[]
Phương pháp #5. Sử dụng toán tử *

Cách nhanh nhất để nối danh sách Python là gì?

Phương thức extend[] cũng là cách nhanh nhất và ngắn gọn nhất để nối các danh sách so với tất cả các phương thức khác.

Bạn có thể sử dụng += với danh sách Python không?

danh sách. extension[list2] thêm các phần tử trong list2 vào cuối danh sách. Sử dụng + hoặc += trong danh sách cũng tương tự như sử dụng hàm mở rộng[] . danh sách. index[elem] -- tìm kiếm phần tử đã cho từ đầu danh sách và trả về chỉ mục của nó.

Chủ Đề