Mencari Pilihatur Rentetan dengan itertools.permutations()
Apabila berhadapan dengan penjanaan semua pilihatur rentetan tertentu, tergoda untuk menggunakan kepada teknik manual yang melibatkan pengulangan aksara dan menukarnya. Walau bagaimanapun, modul itertools Python menawarkan penyelesaian yang elegan melalui kaedah pilih atur() Secara lalai, ia menjana pilih atur panjang penuh, tetapi anda boleh menentukan panjang yang diingini dengan parameter r.
Untuk mendapatkan semua pilih atur rentetan dalam Python, hanya gunakan kod berikut:
Pendekatan ini menghasilkan senarai yang mengandungi semua pilih atur yang mungkin bagi rentetan yang diberikan.
from itertools import permutations string = 'stack' # Get all permutations as tuples perms = permutations(string) # Convert permutations to strings for readability perms_as_strings = [''.join(p) for p in perms]
Perhatikan bahawa susunan pilih atur dalam senarai adalah leksikografik. Ini bermakna jika rentetan anda diisih, rentetan permute juga akan diisih.
Mengendalikan PenduaJika rentetan anda mengandungi aksara pendua, kaedah pilih atur() akan menjana pendua juga. Untuk menghapuskan pendua, anda boleh menukar senarai pilih atur anda kepada set:
Set ini kini akan mengandungi pilih atur unik sahaja. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa susunan unsur hilang apabila menukar kepada set.perms_as_strings = set(perms_as_strings)
Atas ialah kandungan terperinci Bagaimana untuk Menjana Pilihatur Rentetan Menggunakan `itertools.permutations()` Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!