Pitão

Como usar maketrans em Python 3

Como usar maketrans em Python 3
O Maketrans () função é um método de tradução integrado em Python usado para criar tabelas de conversão de mapeamento de caracteres. Um personagem é traduzido em outro personagem através deste método. Esta função pode ser aplicada a string e dados de dicionário para mapear caracteres. A representação Unicode do caractere é usada na tabela de tradução. O traduzir() função é usada para converter os dados da tabela de tradução em dados de string. Este tutorial irá explicar como o Maketrans () método pode ser usado em Python para mapeamento de caracteres.

Sintaxe

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

O Maketrans () função se aplica ao conteúdo do fragmento valor. Esta função pode receber três argumentos. O primeiro argumento é obrigatório e os outros dois argumentos são opcionais. Quando apenas um argumento é usado neste método, o argumento será um dicionário.  Quando dois argumentos são usados ​​neste método, então ambos os argumentos serão strings do mesmo comprimento. Quando três argumentos são usados ​​neste método, o terceiro argumento será uma string que removerá os caracteres dos dados da string. Os usos da função maketrans () em dados de string e de dicionário são mostrados nos exemplos a seguir.

Exemplo 1: Usando maketrans () para traduzir a chave do dicionário

O script a seguir mostra o uso da função maketrans () para dados de dicionário. Antes, foi mencionado que a função maketrans () leva apenas um argumento para a variável de dicionário. Uma função personalizada, chamada make_translation (), é usado aqui para criar a tabela de tradução com base no valor da string fornecida por meio do Maketrans () função. Dois para loops e dois contadores são usados ​​aqui para imprimir o caractere correto mapeado por cada código ASCII.

#!/ usr / bin / env python3
 
# Defina a função para traduzir o dicionário para a tabela de tradução
def make_translation (dictVar, strVar):
# Crie a tabela de tradução
trans_table = strVar.Maketrans (dictVar)
print ("O dicionário original é: \ n", dictVar)
print ("A tabela traduzida do dicionário é: \ n", trans_table)
imprimir ("\ n")
# Inicializa o primeiro contador para o dicionário
contador1 = 1
para key1 em dictVar:
# Inicializa o segundo contador para a tabela de tradução
contador2 = 1
para key2 em trans_table:
if counter1 == counter2:
imprimir ("% s é traduzido para% d"% (chave1, chave2))
pausa
# Incrementar o segundo contador
contador2 = contador2 + 1
# Incrementar o primeiro contador
contador1 = contador1 + 1
 
# Defina um dicionário onde a chave é uma string
dictData = "A": 90, "B": 59, "C": 81, "D": 75
# Defina a lista de caracteres para traduzir
string = "ABCD"
# Chame a função de tradução
make_translation (dictData, string)

Resultado:

A seguinte saída aparecerá após a execução do script. A tabela de tradução contém o código ASCII do valor-chave do dicionário.

Exemplo 2: Usando maketrans () para traduzir os caracteres da string

O exemplo a seguir mostra o uso de Maketrans () com dados de string. Dois valores de string serão tomados como texto de pesquisa e texto de substituição, e esses valores de texto serão usados ​​como argumentos para o Maketrans () função. Você deve ter em mente que o comprimento do texto de entrada e de saída deve ser o mesmo para criar a tabela de tradução. Caso contrário, um erro será gerado. O traduzir() função é usada aqui para converter os dados da tabela de tradução em valores de string.

#!/ usr / bin / env python3
 
# Insira a lista de caracteres que você deseja traduzir
search = input ("Digite a lista de caracteres de busca \ n")
# Insira a lista de caracteres que você deseja substituir
substituir = entrada ("Digite a lista de caracteres de substituição \ n")
 
# Verifique o comprimento da pesquisa e substituição da lista de caracteres
se len (pesquisar) == len (substituir):
 
# Defina os dados da string
original_text = "+8801822594876"
# Crie a tabela de tradução usando maketrans ()
texto_modificado = texto_original.maketrans (pesquisar, substituir)
 
# Imprime o texto original
print ("O texto original é:", original_text)
# Imprima a saída após aplicar maketrans ()
print ("A saída da tabela de mapeamento é:", texto_modificado)
# Imprima a saída após aplicar translate ()
print ("O texto substituído é:", original_text.traduzir (texto_modificado))
senão:
imprimir ("O comprimento do texto de pesquisa e o texto de substituição não são iguais")

Resultado

Depois de executar o script, 856 é considerado como caracteres de pesquisa e 487 é considerado como substituir caracteres na seguinte saída. Nesse caso, 8 é substituído por 4, 5 é substituído por 8 e 6 é substituído por 7 na string, '+8801822594878.'A saída modificada é' +4401422894477.'

Exemplo 3: Usando maketrans () para traduzir e excluir caracteres na string

O exemplo a seguir mostra o uso de três argumentos com o método maketrans (). Aqui o fragmento é a string principal, onde os caracteres de str1 será pesquisado. Se algum caractere corresponder ao caractere escolhido, esse caractere será substituído pelo caractere correspondente de str2. Se algum personagem de str3 combina com qualquer personagem do fragmento variável, então esse caractere será removido do fragmento variável. O método maketrans () é chamado com dois argumentos por uma vez e o método maketrans () é chamado com três argumentos por outra vez.

#!/ usr / bin / env python3
 
# Defina a string principal
string = "Linux"
# Defina a lista de caracteres para pesquisar
str1 = "iu"
# Defina a lista de caracteres a substituir
str2 = "Ui"
# Defina a lista de caracteres para excluir
str3 = "L"
 
# Imprime o texto principal
print ("O texto original:", string)
 
# Crie a tabela de tradução
dict1 = string.maketrans (str1, str2)
print ("\ nA tabela de tradução: \ n", dict1)
print ("A string modificada:", string.traduzir (dict1))
 
# Crie a tabela de tradução após excluir os caracteres
dict2 = string.maketrans (str1, str2, str3)
print ("\ nA tabela de tradução após excluir os caracteres: \ n", dict2)
# imprime a string modificada após a tradução
print ("\ nA string modificada após excluir:", string.traduzir (dict2))

Resultado

A seguinte saída aparece após a execução do script. Aqui, os caracteres 'i' e 'u' de 'Linux'são substituídos pelos caracteres' U 'e' i 'ao chamar maketrans () com dois argumentos, e a saída é'LUnix.'Quando o método maketrans () é chamado com três argumentos, o caractere' L 'é excluído pelo terceiro argumento e a saída é'Unix.'

Conclusão

Este tutorial mostra como você pode facilmente substituir o conteúdo do dicionário ou dados de string por meio do método maketrans (). Caracteres específicos dentro de uma string também podem ser excluídos por meio deste método. Espero que os exemplos mostrados neste tutorial ajudem os usuários de Python a entender alguns dos usos do método maketrans () e mostrem como aplicar esse método corretamente em seus próprios scripts.

Como instalar o League Of Legends no Ubuntu 14.04
Se você é fã de League of Legends, esta é uma oportunidade para testar o funcionamento de League of Legends. Observe que LOL é suportado no PlayOnLinu...
Instale o último jogo de estratégia OpenRA no Ubuntu Linux
OpenRA é um motor de jogo de estratégia em tempo real Libre / Free que recria os primeiros jogos Westwood como o clássico Command & Conquer: Red Alert...
Instale o emulador Dolphin mais recente para Gamecube e Wii no Linux
O Dolphin Emulator permite que você jogue seus jogos de Gamecube e Wii escolhidos em computadores pessoais Linux (PC). Sendo um emulador de jogo disp...