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

Tạo tất cả cặp tổ hợp từ 2 tuple trong Python

Sử dụng itertools.product để tạo tích Descartes của các phần tử từ 1 đến N, lặp lại N lần.

Ví dụ

from itertools import product

N = 2
print("N =", N)

result = [ele for ele in product(range(1, N + 1), repeat=N)]
print("Tất cả tổ hợp tuple độ dài", N, "từ 1..", N, ":")
print(result)

Kết quả

N = 2
Tất cả tổ hợp tuple độ dài 2 từ 1.. 2 :
[(1, 1), (1, 2), (2, 1), (2, 2)]

Giải thích

  • product(range(1, N+1), repeat=N) tạo ra tất cả các tuple độ dài N với phần tử từ 1 đến N.
  • List comprehension chuyển iterator thành list.
  • Với N=2: (1,1), (1,2), (2,1), (2,2).
  • Đây là hoán vị có lặp lại (Cartesian product).