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

Python - Tạo cặp từ hai danh sách sao cho các phần tử không giống nhau trong từng cặp

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.