Für Leute, die es vorziehen, kürzer, aber kompliziertere Lösung (anstatt die translate()
Methode der Verwendung), hier ist es:
list1 = ['a', 'b', 'c']
list2 = ['d', 'e', 'f']
var = 'backout'
trans_dict = dict(zip(list1, list2))
out_string = ''.join([trans_dict.get(ch, ch) for ch in var])
Die Erklärung:
dict(zip(list1, list2))
schafft die {'a': 'd', 'b': 'e', 'c': 'f'}
Wörterbuch.
trans_dict.get(ch, ch)
Die 1 st Argument ein Schlüssel ist - wenn es in Schlüssel gefunden wird, erhalten wir seinen Wert: trans_dict[ch]
Das 2 nd Argument ist ein Standardwert - Wird verwendet, wenn das erste Argument in Schlüsseln nicht gefunden wird. Wir erhalten ch
.
[trans_dict.get(ch, ch) for ch in var]
ist eine Liste Verständnis - etwas, als eine Liste von der leeren Liste, Erstellen von nächsten und übernächsten Elemente in der Schleife for
anhängt.
''.join(list_of_string)
ist eine Standardmethode für verketten einzelne Elemente der Liste (in unserem Fall der einzelnen Zeichen).
(Anstelle der leer Zeichenfolge dort eine beliebige Zeichenfolge sein kann - es für die Abgrenzung einzelne Elemente in der verketteten Zeichenfolge verwendet wird)
Ja, das ist eine viel bessere Lösung als meine, gute Arbeit :-) +1 –