Hợp nhất nhiều danh sách thành một danh sách Python
Một trong những cấu trúc dữ liệu quan trọng nhất được sử dụng trong Python là danh sách. Nó có nhiều trường hợp sử dụng khác nhau trong Python vì nó có thể thay đổi, có thể chứa các giá trị của bất kỳ loại dữ liệu nào khác trong cùng một danh sách. Ngoài ra, chúng ta có thể có một phần tử có giá trị bằng nhau nhiều lần (điều này không thể thực hiện được trong các tập hợp) và được hỗ trợ bởi nhiều phương thức khác nhau, điều này giúp cuộc sống của chúng ta dễ dàng hơn rất nhiều. Trong Python, chúng ta có thể kết hợp nhiều danh sách thành một mà không gặp bất kỳ rắc rối nào Show
Trong bài viết này, chúng ta hãy khám phá nhiều cách để đạt được các danh sách nối. Một số thuật ngữ tiêu chuẩn khác là nối danh sách, hợp nhất danh sách và nối danh sách
nội dung Sử dụng phương pháp ngây thơ để kết hợp danh sách trong PythonMột phương pháp ngây thơ là một phương pháp xuất hiện đầu tiên khi nghĩ về cách thực hiện một tác vụ cụ thể. Nó không được tối ưu hóa và thường có độ phức tạp về thời gian lớn hơn các phương pháp khác Chúng tôi sẽ sử dụng vòng lặp for để kết hợp hai danh sách- list1=[1,2,3,4] list2=[5,6,7,8] for i in list2: # appending the elements of list2 into list1 list1.append(i) print(list1) Output- [1, 2, 3, 4, 5, 6, 7, 8] Kết hợp nhiều hơn hai danh sách trong Pythonlist1=[1,2,3,4] list2=[5,6,7,8] list3=[9,10,11,12] for i in list2: # appending the elements of list2 into list1 list1.append(i) for i in list3: # appending the elements of list3 into list1 list1.append(i) print(list1) Output- [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] Bạn có thể nghĩ rằng đây là một phương pháp đơn giản. Vậy tại sao chúng ta không thường sử dụng phương pháp này và gọi nó là ngây thơ. Câu trả lời rất đơn giản, chúng ta đang sử dụng hai vòng lặp for ở đây, và nếu chúng ta có nhiều danh sách và trong những danh sách đó, chúng ta có nhiều phần tử, thì độ phức tạp về thời gian sẽ lớn đến mức nào. Đó là lý do tại sao chúng tôi có các phương pháp khác nhau cho mục đích Sử dụng chức năng mở rộng của PythonPython có chức năng tích hợp cho mục đích này- mở rộng. Hãy để chúng tôi xem làm thế nào điều này hoạt động- list1=[1,2,3,4] list2=[5,6,7,8] list2.extend(list1) print(list2) Output- [5, 6, 7, 8, 1, 2, 3, 4] Bạn có thể hiểu rõ hơn về hoạt động của chức năng này với đoạn mã sau- list1=[1,2,3,4] list2=[5,6,7,8] list2[len(list2):]=list1 print(list2) Output- [5, 6, 7, 8, 1, 2, 3, 4] Độ phức tạp về thời gian của hàm extension() này là O(k), trong đó k là độ dài của danh sách mà chúng ta cần nối vào một danh sách khác ________số 8_______ Output- list2 [5, 6, 7, 8, 1, 2, 3, 4] list1 [1, 2, 3, 4] Sử dụng chức năng chắp thêmChức năng nối thêm có thể được sử dụng để thêm một danh sách đầy đủ vào một danh sách khác. Điều đó có nghĩa là các yếu tố sẽ không được thêm từng cái một mà danh sách đầy đủ sẽ được thêm vào cùng một chỉ mục. Đừng lo lắng nếu bạn không hiểu. Chúng tôi sẽ hiểu nó với một ví dụ Output- [1, 2, 3, 4, 5, 6, 7, 8]0 Output- [1, 2, 3, 4, 5, 6, 7, 8]1 Bạn chắc chắn sẽ nhận thấy sự thay đổi so với đầu ra trước đó Sử dụng toán tử +Đúng. Bạn đọc nó đúng. Chúng ta có thể nối bất kỳ danh sách nào bằng toán tử + Output- [1, 2, 3, 4, 5, 6, 7, 8]2 Output- [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] Sự khác biệt giữa phương thức này và các phương thức khác mà chúng ta đã học cho đến bây giờ là trong phương thức này, chúng ta nối ba danh sách khác nhau trong một danh sách khác. Trong tất cả các cách trước đó, thay đổi đã diễn ra ở một trong các danh sách Sử dụng hiểu danh sáchOutput- [1, 2, 3, 4, 5, 6, 7, 8]4 Output- [1, 2, 3, 4, 5, 6, 7, 8]5 Sử dụng toán tử *Nếu bạn chưa bao giờ sử dụng toán tử * trong danh sách hoặc các kiểu dữ liệu khác như tuple, bạn sẽ rất vui khi biết toán tử này hữu ích như thế nào. Nó được sử dụng để giải nén danh sách. Ví dụ- Output- [1, 2, 3, 4, 5, 6, 7, 8]6 Output- [1, 2, 3, 4, 5, 6, 7, 8]7 Nó không đáng yêu sao? . Bây giờ chúng ta hãy xem toán tử * có thể được sử dụng như thế nào để kết hợp các danh sách khác nhau trong python Output- [1, 2, 3, 4, 5, 6, 7, 8]8 Output- [1, 2, 3, 4, 5, 6, 7, 8]9 Nếu muốn, chúng ta có thể sử dụng điều này để kết hợp các danh sách khác nhau thành một bộ hoặc một tập hợp. list1=[1,2,3,4] list2=[5,6,7,8] list3=[9,10,11,12] for i in list2: # appending the elements of list2 into list1 list1.append(i) for i in list3: # appending the elements of list3 into list1 list1.append(i) print(list1)0 list1=[1,2,3,4] list2=[5,6,7,8] list3=[9,10,11,12] for i in list2: # appending the elements of list2 into list1 list1.append(i) for i in list3: # appending the elements of list3 into list1 list1.append(i) print(list1)1 list1=[1,2,3,4] list2=[5,6,7,8] list3=[9,10,11,12] for i in list2: # appending the elements of list2 into list1 list1.append(i) for i in list3: # appending the elements of list3 into list1 list1.append(i) print(list1)2 list1=[1,2,3,4] list2=[5,6,7,8] list3=[9,10,11,12] for i in list2: # appending the elements of list2 into list1 list1.append(i) for i in list3: # appending the elements of list3 into list1 list1.append(i) print(list1)3 Sử dụng itertools. chuỗi()Chúng ta có thể nhập gói itertools của python và sử dụng chức năng chuỗi của nó để kết hợp các danh sách. Để nhập sử dụng - từ chuỗi nhập itertools list1=[1,2,3,4] list2=[5,6,7,8] list3=[9,10,11,12] for i in list2: # appending the elements of list2 into list1 list1.append(i) for i in list3: # appending the elements of list3 into list1 list1.append(i) print(list1)4 Output- [1, 2, 3, 4, 5, 6, 7, 8]9 Như chúng ta biết rằng itertools trả về một đối tượng, vì vậy trước tiên chúng ta phải nhập nó vào kiểu dữ liệu danh sách và sau đó in nó Kết hợp danh sách vào từ điển PythonCó rất nhiều phương pháp để chuyển đổi hai danh sách thành một từ điển làm giá trị khóa, nhưng chúng tôi sẽ chỉ nghiên cứu ở đây cách phổ biến và hiệu quả nhất list1=[1,2,3,4] list2=[5,6,7,8] list3=[9,10,11,12] for i in list2: # appending the elements of list2 into list1 list1.append(i) for i in list3: # appending the elements of list3 into list1 list1.append(i) print(list1)6 list1=[1,2,3,4] list2=[5,6,7,8] list3=[9,10,11,12] for i in list2: # appending the elements of list2 into list1 list1.append(i) for i in list3: # appending the elements of list3 into list1 list1.append(i) print(list1)7 Kết hợp các danh sách trong Python vào Khung dữ liệulist1=[1,2,3,4] list2=[5,6,7,8] list3=[9,10,11,12] for i in list2: # appending the elements of list2 into list1 list1.append(i) for i in list3: # appending the elements of list3 into list1 list1.append(i) print(list1)8 list1=[1,2,3,4] list2=[5,6,7,8] list3=[9,10,11,12] for i in list2: # appending the elements of list2 into list1 list1.append(i) for i in list3: # appending the elements of list3 into list1 list1.append(i) print(list1)9 Giả sử nếu chúng ta muốn kết hợp hai list2 này trong các cột khác nhau của Khung dữ liệu-Output- [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]0 Output- [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]1 Phải đọcGiải nén tệp bằng Python. 5 kịch bản bạn nên biết Phần kết luậnChúng tôi đã nghiên cứu rất nhiều phương pháp sử dụng để kết hợp nhiều danh sách trong Python. Bạn nên bất kỳ trong số họ theo nhu cầu của bạn. Chúng tôi đã xem xét cách kết hợp các danh sách đó ở dạng khung dữ liệu, bộ, bộ dữ liệu và ở dạng cặp khóa và giá trị trong từ điển. Vui lòng cho chúng tôi biết trong phần nhận xét nếu bạn sử dụng bất kỳ phương pháp nào khác Làm cách nào để kết hợp 3 danh sách thành một trong 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.
Bạn có thể kết hợp các danh sách trong 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ử + . |