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

Sự khác biệt của hai danh sách bao gồm các bản sao trong Python

Đôi khi chúng ta cần tìm sự khác biệt giữa hai danh sách. Nó cũng có nghĩa là một phép trừ toán học, trong đó các phần tử từ danh sách đầu tiên bị loại bỏ nếu chúng có mặt trong danh sách thứ hai. Các bản sao được giữ nguyên. Dưới đây là cách tiếp cận mà chúng tôi có thể đạt được điều này.

Chúng ta có thể sử dụng phương thức Counter từ mô-đun tập hợp sẽ theo dõi số lượng phần tử. Một phép trừ toán học thẳng cho kết quả mong muốn. Trong kết quả cuối cùng, số lần xuất hiện của một phần tử giữa danh sách thứ nhất và thứ hai sẽ quyết định các phần tử.

Ví dụ

 from collection import Bộ đếm # khởi tạo listlistA =['Mon', 'Tue', 9, 3, 3] listB =['Mon', 3] # in danh sách ban đầu ("Given ListA:", listA) print ( "Cho ListB:", listB) # Áp dụng các tập hợp.Counter () diff_list =list ((Counter (listA) - Counter (listB)). Element ()) # Resultprint ("Kết quả của phép trừ danh sách:", diff_list)  

Đầu ra

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

 Cho ListA:['Mon', 'Tue', 9, 3, 3] Cho ListB:['Mon', 3] Kết quả của phép trừ danh sách:['Tue', 9, 3]