Bagaimana Anda mengubah string dengan python?

Permutasi string adalah mengubah urutan atau pengaturan karakter yang terdiri dari string. Mengingat bahwa n adalah jumlah karakter, ada n. cara yang berbeda untuk mengubah urutan string yang diberikan

Posting ini menunjukkan bagaimana kita dapat mengubah ulang sebuah string dengan Python 3

Tanpa mengimpor pustaka Python 3 apa pun

Mencetak permutasi string yang berbeda dengan duplikat

def permutate_string(string, prefix = ''):
    if len(string) == 0:
        print(prefix)
    else:
        for i in range(len(string)):
            rem = string[0:i] + string[i+1:]
            permutate_string(rem, prefix + string[i])

permutate_string('abb')

''' Output:
abb
abb
bab
bba
bab
bba
'''

Mengumpulkan permutasi string yang berbeda dengan duplikat dalam daftar

def build_permutation_list(string, prefix='', permutation_list=[]):
    if len(string) == 0:
        permutation_list.append(prefix)
    else:
        for i in range(len(string)):
            rem = string[0:i] + string[i + 1:]
            build_permutation_list(rem, prefix + string[i], permutation_list)

permutation_list = []
build_permutation_list('abb', permutation_list=permutation_list)
# permutation_list will contain the list of string variations from this point on
_

Mengumpulkan permutasi string yang berbeda tanpa duplikat dalam daftar

permutation_list = []
build_permutation_list('abb', permutation_list=permutation_list)
permutation_list = set(permutation_list)

Dengan itertools. fungsi perpustakaan permutasi

Mencetak permutasi string yang berbeda dengan duplikat

from itertools import permutations

string_permutations = permutations('abb')
for string in string_permutations:
    print(''.join(string))
    
''' Output:
abb
abb
bab
bba
bab
bba
'''

Mencetak permutasi string yang berbeda tanpa duplikat

from itertools import permutations

# Use the set function to remove duplicates
string_permutations = set(permutations('abb'))
for string in string_permutations:
    print(''.join(string))

''' Output:
bba
bab
abb
'''
_
  • Bagaimana Anda mengubah string dengan python?
    Bagaimana Anda mengubah string dengan python?
    Membagikan
  • Bagaimana Anda mengubah string dengan python?
    Bagaimana Anda mengubah string dengan python?
    Menciak
  • Bagaimana Anda mengubah string dengan python?
    Bagaimana Anda mengubah string dengan python?
    Membagikan
  • Bagaimana Anda mengubah string dengan python?
    Bagaimana Anda mengubah string dengan python?
    Menyimpan

Dengan permutasi, yang kami maksud adalah jumlah total penataan ulang yang mungkin untuk sejumlah elemen tertentu dengan cara yang unik tanpa mempertimbangkan urutan penataan ulang

Sebuah string, seperti yang kita ketahui, dapat dianggap sebagai kumpulan karakter individu

Pada artikel ini, kami akan mencoba menemukan semua kemungkinan permutasi untuk string tertentu

Modul itertools_ digunakan untuk membuat dan bekerja dengan berbagai objek iterable. Fungsi permutations()_ dari modul ini dapat mengembalikan semua pengaturan yang mungkin untuk sekumpulan nilai tertentu
Ini mengembalikan objek tipe itertools_ yang berisi tuple yang berisi kemungkinan susunan elemen. Kita dapat menggunakan daftar untuk melihat elemen objek ini. Kita bisa menggunakan fungsi ini dengan string juga

Sebagai contoh,

from itertools import permutations
lst = list(permutations('day'))
print(lst)

Keluaran

[('d', 'a', 'y'), ('d', 'y', 'a'), ('a', 'd', 'y'), ('a', 'y', 'd'), ('y', 'd', 'a'), ('y', 'a', 'd')]
_

Perhatikan tupel yang dibuat pada keluaran yang berisi susunan karakter. Kita dapat mengubahnya menjadi daftar string menggunakan fungsi join() dan metode pemahaman daftar

Lihat kode berikut

from itertools import permutations
lst = [''.join(p) for p in permutations('day')]
print(lst)

Keluaran

['day', 'dya', 'ady', 'ayd', 'yda', 'yad']
_

Kami menggabungkan elemen tuple menggunakan fungsi join() dan menggunakan ini untuk setiap tupel dengan mengulangi daftar

Buat Fungsi yang Ditentukan Pengguna untuk Mengembalikan Semua Permutasi untuk sebuah String dengan Python

Kita dapat membuat fungsi langsung untuk menemukan semua permutasi string. Kami akan membuat fungsi rekursif. Dalam metode ini, kita hanya akan menukar elemen string satu kali dan memanggil kembali fungsi tersebut dengan susunan baru. Kami menampilkan pengaturan akhir

Kami menerapkan logika di atas dalam kode berikut

def string_permutations(s, i, n): 
    if i==n: 
        print(''.join(s) )
    else: 
        for j in range(i,n): 
            s[i], s[j] = s[j], s[i] 
            string_permutations(s, i+1, n) 
            s[i], s[j] = s[j], s[i]  
  
a = "day"
x = len(a) 
s = list(a) 
print(permute(s, 0, x))
_

Keluaran

Seperti yang Anda lihat, posisi awal dan akhir ditentukan di mana kami ingin menyelesaikan pengaturan ulang. String juga diteruskan sebagai daftar karakter. Untuk menemukan semua permutasi yang mungkin, kami menetapkan awal ke 0 dan akhir sebagai panjang string

Bagaimana Anda mengubah permutasi string dengan Python?

Prosedur Mencari Permutasi Suatu String .
Impor modul itertools
Inisialisasi string
Gunakan itertools. metode permutasi untuk menemukan permutasi string
Pada langkah ketiga, metode mengembalikan objek dan mengubahnya menjadi daftar. Daftar berisi permutasi string sebagai tupel

Apa arti permutasi dalam Python?

Permutasi mengacu pada cara-cara di mana kita dapat mengatur sekumpulan objek . Kombinasi adalah cara di mana kita dapat memilih k item dari daftar n item, terlepas dari urutan pemilihan. Pustaka itertools di Python memiliki metode yang telah ditentukan sebelumnya untuk menghasilkan permutasi dan kombinasi untuk satu set objek.

Apakah ada fungsi permutasi di Python?

perm() dalam Python digunakan untuk mengembalikan jumlah permutasi k item dari sekelompok n item , i. e. , ini membantu kita mengetahui jumlah cara di mana kita dapat memilih k item dari n item dengan urutan dan tanpa pengulangan.

Bagaimana cara membuat permutasi?

Algoritma Heap . R. Tumpukan. Algoritma ini didasarkan pada pertukaran elemen untuk menghasilkan permutasi. Ini menghasilkan setiap permutasi yang mungkin dari elemen-elemen ini tepat satu kali.