Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah saya boleh menjana semua gabungan elemen daripada senarai senarai dalam Python?

Bagaimanakah saya boleh menjana semua gabungan elemen daripada senarai senarai dalam Python?

Mary-Kate Olsen
Lepaskan: 2024-12-02 16:54:11
asal
313 orang telah melayarinya

How can I generate all combinations of elements from a list of lists in Python?

Menjana Semua Gabungan Senarai Senarai

Apabila berurusan dengan struktur data bersarang, menjadi penting untuk memanipulasinya dengan cekap. Satu tugas biasa ialah mendapatkan semula semua kemungkinan gabungan elemen merentas berbilang senarai.

Untuk pembangun Python, fungsi itertools.product menyediakan penyelesaian ringkas dan elegan untuk masalah ini. Ia memerlukan berbilang iterable sebagai argumen dan menjana tupel yang mewakili semua kemungkinan gabungan elemen daripada setiap iterable.

Jawapan:

Untuk menjana semua gabungan elemen dalam senarai senarai , gunakan itertools.product seperti berikut:

import itertools

my_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9, 10]]

result = list(itertools.product(*my_list))
Salin selepas log masuk

Ini akan menghasilkan senarai tupel, setiap mewakili gabungan unik elemen daripada senarai input.

Contoh Output:

[(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)]
Salin selepas log masuk

Menggunakan itertools.product ialah cara yang mudah dan cekap untuk menjana semua kombinasi yang mungkin unsur daripada struktur data kompleks dalam Python.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menjana semua gabungan elemen daripada senarai senarai dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan