Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python - Tạo cặp từ hai list sao cho phần tử trong cặp không trùng nhau


Tạo tất cả cặp (i, j) từ hai list sao cho i != j.

Cách 1: List comprehension với điều kiện.

list_1 = [1, 2, 3, 4, 5]
list_2 = [5, 8, 7, 1, 3, 6]
result = [(i, j) for i in list_1 for j in list_2 if i != j]
print(result)

Cách 2: Dùng itertools.product sinh tích Descartes, sau đó lọc.

import itertools
list_1 = [1, 2, 3, 4, 5]
list_2 = [5, 8, 7, 1, 3, 6]
pairs = itertools.product(list_1, list_2)
result = [p for p in pairs if p[0] != p[1]]
print(result)

Kết luận

Cả hai cho cùng kết quả; itertools.product rõ ràng hơn về ý đồ.