Computer >> Máy Tính >  >> Lập trình >> Python

Nối nhiều danh sách cùng một lúc bằng Python

Đối với các công việc phân tích dữ liệu khác nhau trong python, chúng tôi có thể cần kết hợp nhiều danh sách python thành một danh sách. Điều này sẽ giúp xử lý nó như một danh sách đầu vào duy nhất cho các phần khác của chương trình cần nó. Nó cung cấp hiệu suất tăng bằng cách giảm số lượng vòng lặp cần thiết để xử lý dữ liệu thêm.

Sử dụng + toán tử

Toán tử + thực hiện công việc liên tục là nối các danh sách lại với nhau. Chúng tôi chỉ áp dụng toán tử giữa tên của danh sách và kết quả cuối cùng được lưu trữ trong danh sách lớn hơn. Trình tự của các phần tử trong danh sách được giữ nguyên.

Ví dụ

listA = ['Mon', 'Tue', 'Wed']
listB = ['2 pm', '11 am','1 pm']
listC = [1, 3, 6]

# Given lists
print("Given list A: " ,listA)
print("Given list B: " ,listB)
print("Given list C: ",listC)

# using + operator
res_list = listA + listB + listC

# printing result
print("Combined list is : ",res_list)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given list A: ['Mon', 'Tue', 'Wed']
Given list B: ['2 pm', '11 am', '1 pm']
Given list C: [1, 3, 6]
Combined list is : ['Mon', 'Tue', 'Wed', '2 pm', '11 am', '1 pm', 1, 3, 6]

Với zip

Hàm zip tập hợp các phần tử lại với nhau tạo thành từng danh sách từ cùng một chỉ mục và sau đó chuyển sang chỉ mục tiếp theo. Kiểu nối này hữu ích khi bạn muốn bảo toàn các phần tử tạo thành danh sách ở cùng một vị trí chỉ mục với nhau.

Ví dụ

listA = ['Mon', 'Tue', 'Wed']
listB = ['2 pm', '11 am','1 pm']
listC = [1, 3, 6]

# Given lists
print("Given list A: " ,listA)
print("Given list B: " ,listB)
print("Given list C: ",listC)

# using zip
res_list = list(zip(listA,listB , listC))

# printing result
print("Combined list is : ",res_list)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given list A: ['Mon', 'Tue', 'Wed']
Given list B: ['2 pm', '11 am', '1 pm']
Given list C: [1, 3, 6]
Combined list is : [('Mon', '2 pm', 1), ('Tue', '11 am', 3), ('Wed', '1 pm', 6)]

Với itertools.chain

Hàm chuỗi từ mô-đun itertools có thể kết hợp các phần tử của danh sách lại với nhau để duy trì trình tự mà chúng hiện diện.

Ví dụ

from itertools import chain

listA = ['Mon', 'Tue', 'Wed']
listB = ['2 pm', '11 am','1 pm']
listC = [1, 3, 6]

# Given lists
print("Given list A: " ,listA)
print("Given list B: " ,listB)
print("Given list C: ",listC)

# using chain
res_list = list(chain(listA, listB, listC))

# printing result
print("Combined list is : ",res_list)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given list A: ['Mon', 'Tue', 'Wed']
Given list B: ['2 pm', '11 am', '1 pm']
Given list C: [1, 3, 6]
Combined list is : ['Mon', 'Tue', 'Wed', '2 pm', '11 am', '1 pm', 1, 3, 6]