Maketrans Python String ()

Kaedah maketrans rentetan () mengembalikan jadual pemetaan untuk terjemahan yang boleh digunakan untuk kaedah terjemahkan ().

Secara sederhana, maketrans()kaedah adalah kaedah statik yang membuat pemetaan watak satu ke satu kepada terjemahan / penggantiannya.

Ini mewujudkan perwakilan Unicode dari setiap watak untuk terjemahan.

Pemetaan terjemahan ini kemudian digunakan untuk menggantikan watak menjadi watak yang dipetakan ketika digunakan dalam kaedah translate ().

Sintaks maketrans()kaedah adalah:

 tali.maketrans (x (, y (, z)))

Di sini, y dan z adalah hujah pilihan.

Struktur maketrans () Parameter

maketrans() kaedah mengambil 3 parameter:

  • x - Sekiranya hanya satu argumen yang diberikan, ia mestilah kamus.
    Kamus harus mengandungi pemetaan 1-ke-1 dari rentetan watak tunggal ke terjemahannya ATAU nombor Unicode (97 untuk 'a') ke terjemahannya.
  • y - Sekiranya dua argumen dilalui, mestilah dua rentetan dengan panjang yang sama.
    Setiap watak dalam rentetan pertama adalah pengganti indeks yang sesuai pada rentetan kedua.
  • z - Sekiranya tiga argumen dilalui, setiap watak dalam argumen ketiga dipetakan ke Tiada.

Nilai pulangan dari String maketrans ()

The maketrans()Cara mengembalikan meja terjemahan dengan pemetaan 1-ke-1 dari Unicode ordinal untuk terjemahan / penggantiannya.

Contoh 1: Jadual terjemahan menggunakan kamus dengan maketrans ()

 # example dictionary dict = ("a": "123", "b": "456", "c": "789") string = "abc" print(string.maketrans(dict)) # example dictionary dict = (97: "123", 98: "456", 99: "789") string = "abc" print(string.maketrans(dict))

Pengeluaran

 (97: '123', 98: '456', 99: '789') (97: '123', 98: '456', 99: '789') 

Di sini, kamus imbasan ditakrifkan. Ini berisi pemetaan karakter a, b dan c hingga 123, 456, dan 789 masing-masing.

maketrans() membuat pemetaan ordinal Unicode watak dengan terjemahannya yang sepadan.

Jadi, 97 ('a') dipetakan menjadi '123', 98 'b' hingga 456 dan 99 'c' hingga 789. Ini dapat ditunjukkan dari keluaran kedua kamus.

Juga, jika dua atau lebih watak dipetakan dalam kamus, ini menimbulkan pengecualian.

Contoh 2: Jadual terjemahan menggunakan dua rentetan dengan maketrans ()

 # first string firstString = "abc" secondString = "def" string = "abc" print(string.maketrans(firstString, secondString)) # example dictionary firstString = "abc" secondString = "defghi" string = "abc" print(string.maketrans(firstString, secondString))

Pengeluaran

 (97: 100, 98: 101, 99: 102) ValueError: dua argumen maketrans pertama mesti mempunyai panjang yang sama 

Di sini pertama, dua tali sama panjang abcdan defditentukan. Dan terjemahan yang sesuai dibuat.

Mencetak hanya terjemahan pertama memberi anda pemetaan 1-ke-1 untuk ordinal Unicode setiap watak dalam firstString ke watak terindeks yang sama pada secondString.

Dalam kes ini, 97 ('a') dipetakan menjadi 100 ('d'), 98 ('b') hingga 101 ('e') dan 99 ('c') hingga 102 ('f').

Mencuba membuat jadual terjemahan untuk rentetan panjang yang tidak sama menimbulkan ValueErrorpengecualian yang menunjukkan bahawa tali mesti panjangnya sama.

Contoh 3: Jadual terjemahan dengan rentetan yang boleh ditanggalkan dengan maketrans ()

 # first string firstString = "abc" secondString = "def" thirdString = "abd" string = "abc" print(string.maketrans(firstString, secondString, thirdString))

Pengeluaran

 (97: Tiada, 98: Tiada, 99: 102, 100: Tiada) 

Di sini, pertama, pemetaan antara dua rentetan firstString dan secondString dibuat.

Kemudian, argumen ketiga ThirdString menetapkan semula pemetaan setiap watak di dalamnya Nonedan juga membuat pemetaan baru untuk watak yang tidak ada.

Dalam kes ini, ThirdString mengatur semula pemetaan 97 ('a') dan 98 ('b') ke None, dan juga membuat pemetaan baru untuk 100 ('d') dipetakan ke None.

Artikel menarik...