Trong bài này, chúng ta sẽ học cách tạo các cặp từ hai danh sách sao cho không có phần tử nào giống nhau tạo thành một cặp. Làm theo các bước dưới đây để giải quyết vấn đề.
- Khởi tạo danh sách bằng các phần tử.
- Lặp lại các danh sách và nối cặp vào một danh sách nếu các phần tử tương ứng trong danh sách không giống nhau.
- In kết quả.
Ví dụ
Hãy xem mã.
# initializing the lists list_1 = [1, 2, 3, 4, 5] list_2 = [5, 8, 7, 1, 3, 6] # making pairs result = [(i, j) for i in list_1 for j in list_2 if i != j] # printing the result print(result)
Nếu bạn chạy đoạn mã trên, bạn sẽ nhận được kết quả sau.
Đầu ra
[(1, 5), (1, 8), (1, 7), (1, 3), (1, 6), (2, 5), (2, 8), (2, 7), (2, 1), (2, 3), (2, 6), (3, 5), (3, 8), (3, 7), (3, 1), (3, 6), (4, 5), (4, 8), (4, 7), (4, 1), (4, 3), (4, 6), (5, 8), (5, 7), (5, 1), (5, 3), (5, 6)]
Chúng tôi cũng có thể giải quyết vấn đề với mô-đun itertools. Nó cung cấp một phương thức được gọi là sản phẩm tạo thành các cặp của tất cả các phần tử. Chúng tôi có thể lọc các cặp sau khi tìm thấy các cặp.
Ví dụ
Hãy xem mã.
# importing the module import itertools # initializing the lists list_1 = [1, 2, 3, 4, 5] list_2 = [5, 8, 7, 1, 3, 6] # pairs pairs = itertools.product(list_1, list_2) # filtering the pairs result = [pair for pair in pairs if pair[0] != pair[1]] # printing the result print(result)
Nếu bạn chạy đoạn mã trên, bạn sẽ nhận được kết quả sau.
Đầu ra
[(1, 5), (1, 8), (1, 7), (1, 3), (1, 6), (2, 5), (2, 8), (2, 7), (2, 1), (2, 3), (2, 6), (3, 5), (3, 8), (3, 7), (3, 1), (3, 6), (4, 5), (4, 8), (4, 7), (4, 1), (4, 3), (4, 6), (5, 8), (5, 7), (5, 1), (5, 3), (5, 6)]
Kết luận
Nếu bạn chạy đoạn mã trên, bạn sẽ nhận được kết quả sau.