Sebagai contoh. banyaknya cara pemilihan karakter dari yup ypu uyp upy puy pyu None0, dan tidak memilih salah satu Show
Kami akan melakukan hal yang sama dalam contoh berikut Contoh 1. Menggunakan rekursi _Keluaran yup ypu uyp upy puy pyu None Dalam contoh ini, rekursi digunakan untuk menemukan permutasi dari sebuah string
Contoh 2. Menggunakan itertools _Keluaran ['pro', 'por', 'rpo', 'rop', 'opr', 'orp'] Menggunakan permutasi dari modul yup ypu uyp upy puy pyu None_6, kita dapat menemukan permutasi dari sebuah string Untuk mendapatkan powerset unik di Python, ubah daftar menjadi satu set untuk menghapus duplikat. Jika tidak, gunakan pendekatan yang sama seperti di atas Berikut adalah tampilan kode setelah perubahan import itertools numbers = [1, 3, 3] combinations = [] for r in range(len(numbers)+1): for combination in itertools.combinations(set(numbers), r): combinations.append(combination) print(combinations)_ Sekarang hanya mengembalikan kombinasi di mana tidak ada nilai duplikat [(), (1,), (3,), (1, 3)] Resep Powerset—Pendekatan yang Lebih Sederhana dan Lebih CepatSesuai dokumen itertools, Anda dapat menggunakan pendekatan yang sedikit lebih sederhana dan mungkin lebih efisien untuk mendapatkan semua kombinasi iterable Ini kodenya from itertools import chain, combinations def powerset(items): l_items = list(items) return chain.from_iterable(combinations(l_items, r) for r in range(len(l_items) + 1)) numbers = [1, 2, 3] print(list(powerset(numbers))) Keluaran [(), (1,), (2,), (3,), (1, 2), (1, 3), (2, 3), (1, 2, 3)] Resep Powerset—Temukan Semua Kombinasi Elemen UnikUntuk menemukan semua kombinasi nilai unik, Anda perlu melakukan sedikit perubahan pada fungsi import itertools numbers = [1, 2, 3] combinations = [] for r in range(len(numbers)+1): for combination in itertools.combinations(numbers, r): combinations.append(combination) print(combinations)0 di atas. Yaitu, ubah iterable import itertools numbers = [1, 2, 3] combinations = [] for r in range(len(numbers)+1): for combination in itertools.combinations(numbers, r): combinations.append(combination) print(combinations)1 menjadi satu set untuk menghapus duplikat Berikut adalah tampilan kode sekarang dengan contoh panggilan from itertools import chain, combinations def powerset(items): l_items = list(set(items)) return chain.from_iterable(combinations(l_items, r) for r in range(len(l_items) + 1)) numbers = [3, 1, 3] print(list(powerset(numbers))) Keluaran [(), (1,), (3,), (1, 3)] KesimpulanHari ini Anda belajar cara mendapatkan semua kombinasi daftar Python. Grup set ini juga dikenal sebagai powerset dari daftar Misalkan kita memiliki string s. Kita harus menemukan semua kemungkinan kombinasi huruf s. Jika ada dua string dengan kumpulan karakter yang sama, maka tunjukkan yang terkecil secara leksikografis. Dan satu kendala adalah setiap karakter di s adalah unik Jadi, jika inputnya seperti s = "pqr", maka outputnya adalah ['r', 'qr', 'q', 'pr', 'pqr', 'pq', 'p'] Untuk mengatasi ini, kami akan mengikuti langkah-langkah ini −
ContohMari kita lihat implementasi berikut untuk mendapatkan pemahaman yang lebih baik − def solve(s): st_arr = [] for i in range(len(s)-1,-1,-1): for j in range(len(st_arr)): st_arr.append(s[i]+st_arr[j]) st_arr.append(s[i]) return st_arr s = "pqr" print(solve(s)) Memasukkan"pqr" Keluaran['r', 'qr', 'q', 'pr', 'pqr', 'pq', 'p'] Bagaimana menemukan semua kemungkinan kombinasi string dengan Python?Untuk menemukan semua kemungkinan permutasi dari string tertentu, Anda dapat menggunakan modul itertools yang memiliki metode berguna yang disebut permutasi(iterable[, r]). This method return successive r length permutations of elements in the iterable as tuples.
Bagaimana menemukan semua kemungkinan kombinasi huruf dengan Python?Ilmu Data Praktis menggunakan Python . st_arr. = daftar baru untuk i dalam ukuran rentang s - 1 hingga 0, kurangi 1, lakukan. untuk j dalam rentang 0 hingga ukuran st_arr - 1, lakukan. sisipkan (s[i] gabungkan st_arr[j]) di akhir st_arr. sisipkan s[i] di akhir st_arr kembalikan st_arr Bagaimana Anda mencetak semua kemunculan string dengan Python?Metode 1. Regex re. Untuk mendapatkan semua kemunculan pola dalam string yang diberikan, Anda dapat menggunakan metode ekspresi reguler re. finditer(pola, string) . Hasilnya adalah iterable dari objek pencocokan—Anda dapat mengambil indeks pencocokan menggunakan pencocokan. mulai() dan cocokkan.
Bagaimana Anda menemukan semua kejadian di Python?Salah satu cara paling dasar untuk mendapatkan posisi indeks dari semua kemunculan elemen dalam daftar Python adalah dengan menggunakan perulangan for dan fungsi enumerasi Python. The enumerate function is used to iterate over an object and returns both the index and element. |