Mencari Semua Gabungan Senarai Senarai
Dalam Python, tugas biasa ialah mendapatkan semua kemungkinan gabungan item daripada senarai yang diberikan daripada senarai. Memahami cara untuk mencapai ini adalah penting untuk pelbagai tugas manipulasi data. Sebagai contoh, katakan anda mempunyai senarai yang mewakili satu set pilihan, dan anda ingin menjana semua hasil yang berpotensi dengan memilih satu item daripada setiap pilihan ini. Di sinilah keperluan untuk fungsi gabungan timbul.
Modul itertools menyediakan alat mudah yang dipanggil itertools.product. Fungsi ini mengambil berbilang iterable sebagai input dan mengembalikan produk Cartesian unsur-unsurnya, menghasilkan semua kombinasi yang mungkin. Dalam kes kami, setiap senarai dalam data input adalah boleh diubah, dan hasil daripada semua senarai ini akan memberi kami gabungan yang diperlukan.
Sebagai contoh, mari kita pertimbangkan senarai senarai berikut:
[[1, 2, 3], [4, 5, 6], [7, 8, 9, 10]]
Menggunakan itertools.product, kita boleh menjana semua kombinasi seperti ini:
import itertools a = [[1, 2, 3], [4, 5, 6], [7, 8, 9, 10]] combinations = list(itertools.product(*a))
Outputnya adalah seperti berikut:
[(1, 4, 7), (1, 4, 8), (1, 4, 9), (1, 4, 10), (1, 5, 7), (1, 5, 8), (1, 5, 9), (1, 5, 10), (1, 6, 7), (1, 6, 8), (1, 6, 9), (1, 6, 10), (2, 4, 7), (2, 4, 8), (2, 4, 9), (2, 4, 10), (2, 5, 7), (2, 5, 8), (2, 5, 9), (2, 5, 10), (2, 6, 7), (2, 6, 8), (2, 6, 9), (2, 6, 10), (3, 4, 7), (3, 4, 8), (3, 4, 9), (3, 4, 10), (3, 5, 7), (3, 5, 8), (3, 5, 9), (3, 5, 10), (3, 6, 7), (3, 6, 8), (3, 6, 9), (3, 6, 10)]
Ini menunjukkan bagaimana itertools.product boleh menjana dengan berkesan semua kemungkinan gabungan elemen daripada senarai senarai. Ia menawarkan penyelesaian yang elegan dan cekap untuk tugas pengaturcaraan biasa ini.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Semua Kemungkinan Gabungan daripada Senarai Senarai dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!