Làm thế nào để bạn tổng hợp nhiều danh sách trong python?

Trong chủ đề này, chúng ta sẽ tìm hiểu cách thêm hai danh sách trong Python. Nhưng trước khi vào chủ đề, chúng ta cần hiểu thuật ngữ List trong Python. Danh sách Python được sử dụng để lưu trữ nhiều mục trong một biến. Các mục trong danh sách có thể được sắp xếp bất kỳ, có thể thay đổi và cho phép lưu trữ các giá trị trùng lặp. Mỗi mục của danh sách có một giá trị được lập chỉ mục thích hợp trong đó chỉ mục đầu tiên của danh sách bắt đầu bằng {0} và chỉ mục độ dài của danh sách phải là n-1. Mỗi mục của danh sách được phân tách bằng ký hiệu dấu phẩy [,] và được đặt trong dấu ngoặc vuông []

cú pháp

Ở đây L1 và L2 là hai danh sách chứa các phần tử kiểu dữ liệu giống hoặc khác nhau trong một danh sách. Danh sách L1 chứa các phần tử kiểu dữ liệu int và chuỗi, trong khi Danh sách L2 chỉ chứa các phần tử kiểu dữ liệu int

Hãy xem xét một chương trình in danh sách bằng Python

danh sách chương trình. py

đầu ra

Display the List1 ['Rose', 'Lotus', 24, 'Gold', 'USA']
Display the List2 [1, 2, 4, 5, 6]
Display the Department List ['Web Designing', 40, 20]
Display the CS Department [58, 'Ms Wiley']

Hãy thảo luận về các phương pháp khác nhau để thêm hai danh sách trong Chương trình Python

Phương pháp 1. Thêm hai danh sách bằng Phương pháp Naive

Đây là một phương pháp đơn giản để thêm hai danh sách trong Python bằng cách sử dụng phương thức lặp và nối thêm để thêm tổng các danh sách vào danh sách thứ ba. Vòng lặp for thực hiện cộng cả hai danh sách có cùng số thứ tự và lặp liên tục các phần tử cho đến hết danh sách. Sau phương thức chắp thêm đó, hãy chèn các phần tử đã thêm vào danh sách thứ ba

Hãy xem xét một chương trình để thêm hai danh sách trong Python bằng Phương thức Naïve

ngây thơPro. py

đầu ra

Python Original list 1: [5, 10, 15, 20, 25, 30]
Python Original list 2: [2, 4, 6, 8, 10, 12]
 Addition of the list lt1 and lt2 is: [7, 14, 21, 28, 35, 42]

Phương pháp 2. Thêm hai danh sách bằng Danh sách hiểu

Nó là một kỹ thuật tốc ký của phương thức Naive trong Python. Kỹ thuật hiểu nhanh hơn nhiều để nhập và truy xuất phép cộng của hai danh sách. Do đó, nó được sử dụng trong lập trình Python để thực hiện các loại tác vụ này

Hãy xem xét một chương trình để thêm hai danh sách trong Python bằng Phương thức Naïve

bao quát. py

đầu ra

Python list 1 : [2, 4, 6, 8, 10, 30]
Python list 2 : [2, 4, 6, 8, 10, 12]
 Addition of the list lt1 and lt2 is: [4, 8, 12, 16, 20, 42]

Phương pháp 3. Thêm hai danh sách trong Python bằng hàm map[] với toán tử add

Trong Python, hàm map[] được sử dụng để thêm hai danh sách bỏ qua các biến danh sách [lt1, lt2] và thêm dưới dạng tham số. Bên trong hàm map[], một tham số đã thêm đóng vai trò như một toán tử bổ sung để thêm danh sách và trả về tổng

Hãy xem xét một chương trình để thêm hai danh sách trong Python bằng cách sử dụng hàm map[] với toán tử thêm

Thêm bản đồ. py

đầu ra

Display the elements of List 1 [4, 8, 12, 16, 20, 24]
Display the elements of List 2 [2, 4, 6, 8, 10, 12]
 Sum of the list 1 and list 2 is: [6, 12, 18, 24, 30, 36]

Phương pháp 4. Chấp nhận phần tử danh sách từ người dùng và nối hai danh sách

Trong chương trình này, chúng tôi nhập các phần tử danh sách của người dùng và chèn chúng vào danh sách bằng vòng lặp For. Sau đó, thực hiện phép cộng hai danh sách trong chương trình Python

Hãy xem xét một chương trình lấy phần tử danh sách đầu vào từ người dùng và thêm chúng vào

Chấp nhận. py

đầu ra

Enter the total number of the list elements: 5
 Enter the items into the List 1:
 Enter the value of 1 index is: 3
 Enter the value of 2 index is: 6
 Enter the value of 3 index is: 9
 Enter the value of 4 index is: 12
 Enter the value of 5 index is: 15
 Enter the items into the List 2:
 Enter the value of 1 index is: 2
 Enter the value of 2 index is: 4
 Enter the value of 3 index is: 6
 Enter the value of 4 index is: 8
 Enter the value of 5 index is: 10

 The addition of the two list is [5, 10, 15, 20, 25]

Phương pháp 5. Thêm hai danh sách bằng hàm zip[] với hàm sum[]

Hàm sum[] được sử dụng để cộng hai danh sách bằng cách sử dụng số chỉ mục của các thành phần danh sách được nhóm bởi hàm zip[]. Hàm zip[] được sử dụng trong hàm sum[] để nhóm các phần tử danh sách bằng cách sử dụng danh sách theo chỉ mục

Chào mừng trở lại với ấn bản khác của loạt bài Cách học Python. Lần này tôi muốn tính tổng các phần tử của hai danh sách trong Python. Tôi đã có cảm hứng cho chủ đề này trong khi cố gắng làm điều này tại nơi làm việc, vì vậy hãy xem nó diễn ra như thế nào

Giới thiệu vấn đề

Gần đây, tôi gặp sự cố khi một thư viện không hoạt động chính xác như tôi muốn, vì vậy tôi phải tổng hợp các kết quả để giúp cuộc sống của tôi dễ dàng hơn một chút. Trong trường hợp này, tôi có một thư viện kết nối mà tôi đang sử dụng để liệt kê tất cả các thiết bị khả dụng. Tuy nhiên, chức năng danh sách bị chập mạch đối với một số loại kết nối nhất định, vì vậy nó không bao giờ thực sự liệt kê mọi thứ. Kết quả là tôi buộc phải chạy hàm hai lần. một lần cho USB và một lần nữa cho Ethernet

Kết quả của hàm danh sách này trả về một danh sách giống như sau

# [size, [types], [interfaces], [serial numbers], [IP addresses]]
[2, [7, 7], [1, 2], [2314567, 8374163], [0, 84302738]]

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Tuy nhiên, tôi gặp khó khăn khi truy xuất các danh sách một cách riêng biệt

[1, [7], [2], [8374163], [84302738]]  # Ethernet
[1, [7], [1], [2314567], [0]]  # USB

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Đương nhiên, tôi muốn có thể hợp nhất hai danh sách lại thành những gì tôi mong đợi ban đầu. Tuy nhiên, tôi không hoàn toàn chắc chắn mình sẽ làm điều đó như thế nào. Vì vậy, chúng ta hãy xem xét một số giải pháp có thể

Các giải pháp

Khi hợp nhất hai danh sách, có một số cách khả thi để thực hiện. Đây chỉ là một vài

Hợp nhất hai danh sách bằng tay

Lúc đầu, chúng tôi có thể thử hợp nhất hai danh sách bằng tay. Nói cách khác, chúng ta có thể thử như sau

ethernet_devices = [1, [7], [2], [8374163], [84302738]]
usb_devices = [1, [7], [1], [2314567], [0]]
all_devices = [
    ethernet_devices[0] + usb_devices[0],
    ethernet_devices[1] + usb_devices[1],
    ethernet_devices[2] + usb_devices[2],
    ethernet_devices[3] + usb_devices[3],
    ethernet_devices[4] + usb_devices[4]
]

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Bây giờ, giải pháp đó hầu như không thanh lịch, nhưng nó đã hoàn thành công việc. Tuy nhiên, phải có một cách tốt hơn. Rốt cuộc, chúng tôi đã tận dụng lợi thế của thực tế là các danh sách có thể được hợp nhất bằng cách sử dụng cùng một toán tử như phép cộng. Tại sao không tận dụng lợi thế của tài sản này trong một vòng lặp?

Tính tổng các phần tử của hai danh sách bằng cách hiểu

Giống như bài học trước về đảo ngược từ điển trong Python, chúng ta có thể tận dụng khả năng hiểu để đơn giản hóa vấn đề này một cách đáng kể. Hãy cùng xem

________số 8

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Bây giờ chúng ta nói chuyện. Đó là năm dòng lập bản đồ tẻ nhạt được nén thành một cách hiểu danh sách đơn giản. Nhưng chờ đợi, nó sẽ tốt hơn

all_devices = [sum[pair] for pair in zip[ethernet_devices, usb_devices]]

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Hay, phải không? . Mặc dù nó thực hiện rất tốt việc tính tổng các số nguyên trong một lần lặp, nhưng nó gặp sự cố khi cố hợp nhất hai danh sách con với lỗi sau

Python Original list 1: [5, 10, 15, 20, 25, 30]
Python Original list 2: [2, 4, 6, 8, 10, 12]
 Addition of the list lt1 and lt2 is: [7, 14, 21, 28, 35, 42]
0

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Điều đó nói rằng, bạn có thể thấy hữu ích khi hợp nhất hai danh sách các số nguyên nghiêm ngặt

Tính tổng các phần tử của hai danh sách bằng ánh xạ

Tại thời điểm này, về cơ bản chúng tôi đã trả lời câu hỏi của mình. Tuy nhiên, có một giải pháp khác yêu cầu ít mã hơn. Kiểm tra nó ra

Python Original list 1: [5, 10, 15, 20, 25, 30]
Python Original list 2: [2, 4, 6, 8, 10, 12]
 Addition of the list lt1 and lt2 is: [7, 14, 21, 28, 35, 42]
1

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Không hoàn toàn chắc chắn về tác động hiệu suất ở đây, nhưng nó chắc chắn là một giải pháp hay. Tất nhiên, chúng tôi cũng cần thêm một phụ thuộc làm cho giải pháp này kém hấp dẫn hơn một chút. Trên thực tế, nếu chúng ta định đi theo con đường đó, chúng ta có thể dễ dàng tận dụng numpy

Python Original list 1: [5, 10, 15, 20, 25, 30]
Python Original list 2: [2, 4, 6, 8, 10, 12]
 Addition of the list lt1 and lt2 is: [7, 14, 21, 28, 35, 42]
2

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Tuy nhiên, numpy là một thư viện đồ sộ, vì vậy có lẽ chúng ta nên gắn bó với việc hiểu danh sách của mình

Tóm tắt một chút

Sử dụng một số phương pháp trên, chúng ta sẽ có thể tính tổng các phần tử của hai danh sách

Python Original list 1: [5, 10, 15, 20, 25, 30]
Python Original list 2: [2, 4, 6, 8, 10, 12]
 Addition of the list lt1 and lt2 is: [7, 14, 21, 28, 35, 42]
3

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Như chúng ta có thể thấy, có rất nhiều cách để tính tổng theo phần tử của hai danh sách. Bạn chọn đi

như mọi khi, cảm ơn vì dừng lại. Nếu bạn muốn tìm hiểu thêm về Python, hãy cân nhắc đăng ký The Renegade Coder, để bạn không bao giờ bỏ lỡ một bài viết nào khác

Chủ Đề