Python

Как использовать макетранс в Python 3

Как использовать макетранс в Python 3
В макетранс () function - это встроенный метод перевода в Python, используемый для создания таблиц преобразования отображения символов. Один символ переводится в другой символ с помощью этого метода. Эта функция может применяться к строковым и словарным данным для сопоставления символов. Юникодное представление символа используется в таблице перевода. В переведите() функция используется для преобразования данных таблицы перевода в строковые данные. В этом руководстве объясняется, как макетранс () может использоваться в Python для отображения символов.

Синтаксис

нить.maketrans (arg1 [, arg2 [, arg3]])

В макетранс () функция применяется к содержанию нить значение. Эта функция может принимать три аргумента. Первый аргумент является обязательным, а два других аргумента - необязательными. Когда в этом методе используется только один аргумент, аргументом будет словарь.  Когда в этом методе используются два аргумента, оба аргумента будут строками одинаковой длины. Когда в этом методе используются три аргумента, третий аргумент будет строкой, которая удалит символы из строковых данных. Использование функции maketrans () в строковых и словарных данных показано в следующих ниже примерах.

Пример 1: Использование maketrans () для перевода ключа словаря

В следующем скрипте показано использование функции maketrans () для данных словаря. Ранее упоминалось, что функция maketrans () принимает только один аргумент для словарной переменной. Пользовательская функция с именем make_translation (), здесь используется для создания таблицы перевода на основе предоставленного строкового значения через макетранс () функция. Два для циклы и два счетчика используются здесь для печати правильного символа, отображаемого каждым кодом ASCII.

#!/ usr / bin / env python3
 
# Определить функцию для перевода словаря в таблицу перевода
def make_translation (dictVar, strVar):
# Создать таблицу перевода
trans_table = strVar.макетранс (dictVar)
print ("Исходный словарь: \ n", dictVar)
print ("Переведенная таблица словаря: \ n", trans_table)
печать ("\ п")
# Инициализировать первый счетчик словаря
counter1 = 1
для key1 в dictVar:
# Инициализировать второй счетчик для таблицы перевода
counter2 = 1
для key2 в trans_table:
если counter1 == counter2:
print ("% s переводится в% d"% (key1, key2))
перерыв
# Увеличить счетчик секунд
counter2 = counter2 + 1
# Увеличить первый счетчик
counter1 = counter1 + 1
 
# Определить словарь, где ключ - это строка
dictData = "A": 90, "B": 59, "C": 81, "D": 75
# Определить список символов для перевода
строка = "ABCD"
# Вызов функции перевода
make_translation (dictData, строка)

Выход:

Следующий вывод появится после запуска скрипта. Таблица перевода содержит код ASCII ключевого значения словаря.

Пример 2: Использование maketrans () для перевода символов строки

В следующем примере показано использование макетранс () со строковыми данными. Два строковых значения будут использоваться в качестве текста для поиска и текста замены, и эти текстовые значения будут использоваться в качестве аргументов для макетранс () функция. Вы должны иметь в виду, что длина как входного, так и выходного текста должна быть одинаковой для создания таблицы перевода. В противном случае будет сгенерирована ошибка. В переведите() функция используется здесь для преобразования данных таблицы перевода в строковые значения.

#!/ usr / bin / env python3
 
# Введите список символов, которые вы хотите перевести
search = input ("Введите список символов для поиска \ n")
# Введите список символов, которые вы хотите заменить
replace = input ("Введите список заменяющих символов \ n")
 
# Проверить длину поиска и замены списка символов
если len (поиск) == len (заменить):
 
# Определить строковые данные
original_text = "+8801822594876"
# Создайте таблицу перевода с помощью maketrans ()
модифицированный_текст = исходный_текст.макетранс (поиск, замена)
 
# Распечатать исходный текст
print ("Исходный текст:", исходный_текст)
# Распечатать результат после применения maketrans ()
print ("Вывод таблицы сопоставления:", modified_text)
# Распечатать результат после применения translate ()
print ("Замененный текст:", исходный_текст.перевести (измененный_текст))
еще:
print («Длина текста поиска и текста замены не равны»)

Выход

После запуска скрипта, 856 принимается как символы поиска и 487 принимается как символы замены в следующем выводе. В этом случае 8 заменяется на 4, 5 заменяется на 8, а 6 заменяется на 7 в строке, '+8801822594878.'Измененный вывод:' +4401422894477.'

Пример 3: Использование maketrans () для перевода и удаления символов в строке

В следующем примере показано использование трех аргументов с методом maketrans (). Здесь нить это основная строка, где символы str1 будут обысканы. Если какой-либо символ соответствует выбранному символу, то этот символ будет заменен соответствующим символом из ул2. Если какой-либо персонаж ул3 совпадает с любым символом нить переменной, то этот символ будет удален из нить Переменная. Метод maketrans () вызывается с двумя аргументами один раз, а метод maketrans () вызывается с тремя аргументами в другой раз.

#!/ usr / bin / env python3
 
# Определить основную строку
строка = "Linux"
# Определить список символов для поиска
str1 = "iu"
# Определить список символов для замены
str2 = "Ui"
# Определить список символов для удаления
str3 = "L"
 
# Распечатать основной текст
print ("Исходный текст:", строка)
 
# Создать таблицу перевода
dict1 = строка.макетранс (стр1, стр2)
print ("\ nТаблица перевода: \ n", dict1)
print ("Измененная строка:", строка.перевести (dict1))
 
# Создать таблицу перевода после удаления символов
dict2 = строка.макетранс (стр1, стр2, стр3)
print ("\ nТаблица перевода после удаления символов: \ n", dict2)
# выводим измененную строку после перевода
print ("\ nИзмененная строка после удаления:", строка.перевести (dict2))

Выход

Следующий вывод появляется после запуска скрипта. Здесь "i" и "u" символы "Linux'заменяются символами' U 'и' i 'при вызове maketrans () с двумя аргументами, и на выходе получается'LUnix.'Когда метод maketrans () вызывается с тремя аргументами, то символ' L 'удаляется третьим аргументом, и на выходе получается'Unix.'

Заключение

В этом руководстве показано, как легко можно заменить содержимое словаря или строковых данных с помощью метода maketrans (). С помощью этого метода также можно удалить определенные символы в строке. Я надеюсь, что примеры, показанные в этом руководстве, помогут пользователям Python понять некоторые способы использования метода maketrans () и покажут, как правильно применять этот метод в их собственном скрипте.

Лучшие приложения для сопоставления геймпадов для Linux
Если вам нравится играть в игры на Linux с помощью геймпада вместо стандартной системы ввода с клавиатуры и мыши, для вас есть несколько полезных прил...
Полезные инструменты для геймеров Linux
Если вам нравится играть в игры на Linux, скорее всего, вы использовали приложения и утилиты, такие как Wine, Lutris и OBS Studio, для улучшения игров...
Игры HD Remastered для Linux, ранее не выпускавшиеся для Linux
Многие разработчики и издатели игр придумывают HD-ремастеры старых игр, чтобы продлить жизнь франшизы, порадовать фанатов, требующих совместимости с с...