Zip-Funktion in Python zum Wechseln zu einem neuen Zeichensatz
Gegeben ist ein Zeichensatz mit 26 Buchstaben, der dem Zeichensatz des englischen Alphabets entspricht, dh (abcd… .xyz) und als Beziehung fungiert. Wir erhalten auch mehrere Sätze und müssen diese mit Hilfe eines bestimmten neuen Zeichensatzes übersetzen.
Beispiele:
Neuer Zeichensatz: qwertyuiopasdfghjklzxcvbnm Eingabe: "utta" Ausgabe: Geek Eingabe: "egrt" Ausgabe: Code
Wir haben eine Lösung für dieses Problem. Weitere Informationen finden Sie unter Ändern der Zeichenfolge in einem neuen Zeichensatz- Link. Wir werden dieses Problem in Python mithilfe der Zip() -Methode und der Dictionary- Datenstrukturen lösen . Ansatz ist einfach,
- Erstellen Sie eine Wörterbuchdatenstruktur, in der wir den ursprünglichen Zeichensatz in englischer Sprache mit dem neuen angegebenen Zeichensatz abbilden. Zip (newCharSet, origCharSet) erledigt dies für uns. Es ordnet jedes Zeichen des ursprünglichen Zeichensatzes nacheinander jedem einzelnen Zeichen des neuen Zeichensatzes zu und gibt eine Liste von Tupeln von Paaren zurück. Jetzt konvertieren wir es mit dict() in ein Wörterbuch .
- Durchlaufen Sie nun die ursprüngliche Zeichenfolge und konvertieren Sie sie in eine neue Zeichenfolge.
def
newString(charSet,
input
):
origCharSet
=
'abcdefghijklmnopqrstuvwxyz'
mapChars
=
dict
(
zip
(charSet,origCharSet))
changeChars
=
[mapChars[
chr
]
for
chr
in
input
]
(''.join(changeChars))
if
__name__
=
=
"__main__"
:
charSet
=
'qwertyuiopasdfghjklzxcvbnm'
input
=
'utta'
newString(charSet,
input
)
Ausgabe:
Geek