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.