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àylist1 = [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ầnimport 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