Python

Cara Menggunakan maketrans di Python 3

Cara Menggunakan maketrans di Python 3
The maketrans () fungsi adalah kaedah terjemahan terbina dalam Python yang digunakan untuk membuat jadual penukaran pemetaan watak. Satu watak diterjemahkan ke watak lain melalui kaedah ini. Fungsi ini dapat diterapkan pada data string dan kamus untuk memetakan karakter. Perwakilan unicode watak digunakan dalam jadual terjemahan. The terjemahkan () fungsi digunakan untuk menukar data jadual terjemahan menjadi data rentetan. Tutorial ini akan menerangkan bagaimana maketrans () kaedah boleh digunakan di Python untuk pemetaan watak.

Sintaks

tali.maketrans (arg1 [, arg2 [, arg3]])

The maketrans () fungsi berlaku untuk kandungan tali nilai. Fungsi ini mampu mengambil tiga hujah. Hujah pertama adalah wajib dan dua hujah yang lain adalah pilihan. Apabila hanya satu argumen digunakan dalam kaedah ini, maka argumen tersebut akan menjadi kamus.  Apabila dua argumen digunakan dalam kaedah ini, maka kedua-dua argumen akan menjadi rentetan dengan panjang yang sama. Apabila tiga argumen digunakan dalam kaedah ini, maka argumen ketiga akan menjadi rentetan yang akan menghilangkan watak dari data rentetan. Kegunaan fungsi maketrans () dalam data rentetan dan kamus ditunjukkan dalam contoh berikut.

Contoh 1: Menggunakan maketrans () untuk Menterjemahkan Kunci Kamus

Skrip berikut menunjukkan penggunaan fungsi maketrans () untuk data kamus. Sebelumnya, disebutkan bahawa fungsi maketrans () hanya mengambil satu argumen untuk pembolehubah kamus. Fungsi tersuai, dinamakan buat_translasi (), digunakan di sini untuk membuat jadual terjemahan berdasarkan nilai rentetan yang disediakan melalui maketrans () fungsi. Dua untuk gelung dan dua pembilang digunakan di sini untuk mencetak watak yang betul yang dipetakan oleh setiap kod ASCII.

#!/ usr / bin / env python3
 
# Tentukan fungsi untuk menerjemahkan kamus ke jadual terjemahan
def make_translation (dictVar, strVar):
# Buat jadual terjemahan
trans_table = strVar.maketrans (dictVar)
cetak ("Kamus asal adalah: \ n", diktator)
cetak ("Jadual kamus yang diterjemahkan adalah: \ n", trans_table)
cetak ("\ n")
# Mulakan kaunter pertama untuk kamus
pembilang1 = 1
untuk key1 dalam dictVar:
# Mulakan kaunter kedua untuk jadual terjemahan
pembilang2 = 1
untuk key2 dalam trans_table:
jika counter1 == counter2:
cetak ("% s diterjemahkan ke% d"% (key1, key2))
rehat
# Kenaikan kaunter kedua
pembilang2 = pembilang2 + 1
# Kenaikan kaunter pertama
pembilang1 = pembilang1 + 1
 
# Tentukan kamus di mana kunci adalah rentetan
dictData = "A": 90, "B": 59, "C": 81, "D": 75
# Tentukan senarai watak untuk diterjemahkan
rentetan = "ABCD"
# Panggil fungsi terjemahan
make_translation (dikte Data, rentetan)

Pengeluaran:

Output berikut akan muncul setelah menjalankan skrip. Jadual terjemahan mengandungi kod ASCII dari nilai utama kamus.

Contoh 2: Menggunakan maketrans () untuk Menterjemahkan Karakter Rentetan

Contoh berikut menunjukkan penggunaan maketrans () dengan data rentetan. Dua nilai rentetan akan diambil sebagai teks carian dan menggantikan teks, dan nilai teks ini akan digunakan sebagai argumen untuk maketrans () fungsi. Anda harus ingat bahawa panjang input dan teks output mestilah sama untuk membuat jadual terjemahan. Jika tidak, ralat akan dihasilkan. The terjemahkan () fungsi digunakan di sini untuk menukar data jadual terjemahan menjadi nilai rentetan.

#!/ usr / bin / env python3
 
# Masukkan senarai watak yang ingin anda terjemahkan
search = input ("Masukkan senarai watak carian \ n")
# Masukkan senarai watak yang ingin anda ganti
Repl = input ("Masukkan senarai watak pengganti \ n")
 
# Periksa panjang pencarian dan penggantian senarai watak
jika len (carian) == len (ganti):
 
# Tentukan data rentetan
original_text = "+8801822594876"
# Buat jadual terjemahan menggunakan maketrans ()
diubahsuai_teks = asal_teks.maketrans (cari, ganti)
 
# Cetak teks asal
cetak ("Teks asal adalah:", original_text)
# Cetak output setelah menggunakan maketrans ()
cetak ("Hasil jadual pemetaan adalah:", modifikasi_teks)
# Cetak output setelah menggunakan translate ()
cetak ("Teks yang diganti adalah:", original_text.terjemahkan (diubah_teks))
lain:
cetak ("Panjang teks carian dan ganti teks tidak sama")

Pengeluaran

Setelah menjalankan skrip, 856 diambil sebagai watak carian dan 487 diambil sebagai watak ganti dalam output berikut. Dalam kes ini, 8 digantikan oleh 4, 5 digantikan oleh 8, dan 6 digantikan oleh 7 dalam rentetan, '+8801822594878.'Output yang diubah adalah' +4401422894477.'

Contoh 3: Menggunakan maketrans () untuk Menterjemahkan dan Menghapus Karakter dalam Rentetan

Contoh berikut menunjukkan penggunaan tiga argumen dengan kaedah maketrans (). Di sini, tali adalah rentetan utama, di mana watak-watak dari str1 akan dicari. Sekiranya ada watak yang sesuai dengan watak yang dipilih, maka watak itu akan digantikan oleh watak yang sesuai dengan str2. Sekiranya ada watak str3 sepadan dengan watak apa pun tali pemboleh ubah, maka watak itu akan dikeluarkan dari tali pemboleh ubah. Kaedah maketrans () dipanggil dengan dua argumen untuk satu masa dan kaedah maketrans () dipanggil dengan tiga argumen untuk waktu yang lain.

#!/ usr / bin / env python3
 
# Tentukan rentetan utama
string = "Linux"
# Tentukan senarai watak untuk dicari
str1 = "iu"
# Tentukan senarai watak yang akan diganti
str2 = "Ui"
# Tentukan senarai watak yang akan dihapuskan
str3 = "L"
 
# Cetak teks utama
cetak ("Teks asal:", rentetan)
 
# Buat jadual terjemahan
dict1 = rentetan.maketrans (str1, str2)
cetak ("\ nJadual terjemahan: \ n", dikt1)
cetak ("Rentetan yang diubah:", rentetan.terjemahkan (dikt1))
 
# Buat jadual terjemahan setelah menghapus watak
dict2 = rentetan.maketrans (str1, str2, str3)
cetak ("\ nJadual terjemahan setelah menghapus aksara: \ n", dikt2)
# cetak rentetan yang diubah suai setelah terjemahkan
cetak ("\ n rentetan yang diubah selepas hapus:", rentetan.terjemahkan (dikt2))

Pengeluaran

Output berikut muncul setelah menjalankan skrip. Di sini, watak 'i' dan 'u' dari 'Linux'digantikan oleh watak' U 'dan' i 'ketika memanggil maketrans () dengan dua argumen, dan outputnya adalah'LUnix.'Apabila kaedah maketrans () dipanggil dengan tiga argumen, maka karakter' L 'dihapus oleh argumen ketiga dan outputnya adalah'Unix.'

Kesimpulannya

Tutorial ini menunjukkan betapa mudahnya anda dapat mengganti kandungan kamus atau data rentetan melalui kaedah maketrans (). Watak tertentu dalam rentetan juga dapat dihapus melalui kaedah ini. Saya berharap bahawa contoh yang ditunjukkan dalam tutorial ini dapat membantu pengguna Python untuk memahami beberapa penggunaan kaedah maketrans () dan akan menunjukkan cara menerapkan kaedah ini dengan betul dalam skrip mereka sendiri.

Cara memuat turun dan Mainkan Sid Meier's Civilization VI di Linux
Pengenalan permainan Civilization 6 adalah konsep moden mengenai konsep klasik yang diperkenalkan dalam siri permainan Age of Empires. Idea itu cukup ...
Cara Memasang dan Memainkan Doom di Linux
Pengenalan Doom Seri Doom berasal dari tahun 90an selepas pembebasan Doom yang asal. Ini adalah hit seketika dan sejak saat itu dan seterusnya siri pe...
Vulkan untuk Pengguna Linux
Dengan setiap kad grafik generasi baru, kami melihat pembangun permainan mendorong had kesetiaan grafik dan semakin dekat dengan fotorealisme. Tetapi ...