Memadankan Pilihatur Senarai dengan Panjang Berbeza
Dalam pengaturcaraan, padanan pilih atur antara dua senarai adalah tugas biasa apabila memanipulasi data. Ini boleh dicapai dengan cekap menggunakan pendekatan berdasarkan panjang senarai yang lebih pendek.
Pertimbangkan dua senarai, a dan b, dengan len(a) >= len(b). Kami menyasarkan untuk memadankan elemen daripada senarai ini, dengan pendua dibenarkan untuk a, untuk membuat pilih atur.
Satu pendekatan mudah untuk menyelesaikannya ialah menggunakan fungsi itertools.product() daripada perpustakaan standard Python. Fungsi ini menjana produk Cartesian, dengan cekap menghasilkan semua kemungkinan gabungan elemen daripada senarai input. Dengan menggunakan itertools.product() dengan a dan b, kami memperoleh pilih atur mengikut len(b):
<code class="python">a = ["foo", "melon"] b = [True, False] permutations = list(itertools.product(a, b))</code>
Senarai pilih atur yang terhasil akan mengandungi semua pasangan unsur yang mungkin daripada a dan b, membenarkan unsur pendua daripada a. Contohnya:
[("foo", True), ("foo", False), ("melon", True), ("melon", False)]
Dengan menggunakan pendekatan ini, kami boleh memadankan pilih atur senarai dengan panjang yang berbeza-beza dengan berkesan, memastikan pendua dikendalikan mengikut panjang senarai yang lebih pendek.
Atas ialah kandungan terperinci Bagaimana untuk Memadankan Pilihatur Senarai dengan Kepanjangan Yang Berbeza Dengan Cekap Menggunakan itertools.product()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!