Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah itertools.product Boleh Menjana Produk Cartesan Berbilang Senarai dalam Python?

Bagaimanakah itertools.product Boleh Menjana Produk Cartesan Berbilang Senarai dalam Python?

Susan Sarandon
Susan Sarandonasal
2025-01-04 12:23:38347semak imbas

How Can itertools.product Generate the Cartesian Product of Multiple Lists in Python?

Produk Cartesian Berbilang Senarai dengan itertools.product

Untuk mendapatkan produk Cartesian sekumpulan senarai, di mana setiap gabungan nilai yang mungkin dijana, gunakan fungsi itertools.product terbina dalam. Ciri ini telah disertakan dalam Python sejak versi 2.6.

Pelaksanaan:

import itertools

somelists = [
   [1, 2, 3],
   ['a', 'b'],
   [4, 5]
]

for element in itertools.product(*somelists):
    print(element)

Sebagai alternatif, anda boleh menyediakan hujah berasingan kepada fungsi seperti ini:

for element in itertools.product([1, 2, 3], ['a', 'b'], [4, 5]):
    print(element)

Mana-mana pendekatan akan menghasilkan yang sama output:

(1, 'a', 4)
(1, 'a', 5)
(1, 'b', 4)
(1, 'b', 5)
(2, 'a', 4)
(2, 'a', 5)
...

Nota:

  • Teknik ini biasanya digunakan untuk mengelakkan gelung bersarang dalam.
  • Jika anda memerlukan Cartesian produk daripada senarai yang sama didarab dengan sendiri, pertimbangkan untuk menggunakan itertools.product dengan hujah yang dibongkar *.
  • Penggunaan * untuk membongkar hujah dalam konteks ini tidak berbeza daripada penggunaan lazimnya dalam panggilan fungsi.

Atas ialah kandungan terperinci Bagaimanakah itertools.product Boleh Menjana Produk Cartesan Berbilang Senarai dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn