Bagaimana untuk Menjana Pilihatur Rentetan Menggunakan `itertools.permutations()` Python?

Barbara Streisand
Lepaskan: 2024-10-26 02:35:27
asal
390 orang telah melayarinya

How to Generate Permutations of a String Using Python's `itertools.permutations()`?

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

Perhatikan bahawa susunan pilih atur dalam senarai adalah leksikografik. Ini bermakna jika rentetan anda diisih, rentetan permute juga akan diisih.

Mengendalikan Pendua

Jika 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)
Salin selepas log masuk

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!