Ich habe diese SaiteErsatzteil ein Wörterbuch in Python mit
message = '10100010011'
und dieses Wörterbuch
codes = {97: '1', 98: '01', 107: '001', 114: '000'}
und ich brauche die ursprüngliche Nachricht mit dem Wörterbuch zu so etwas wie diese
[97, 98, 114, 97, 107, 97]
ersetzen
Ich habe meinen eigenen Weg versucht, was funktioniert, aber wenn ich einige wirklich große Saiten verwende, ist es nur sehr langsam. Gibt es dafür einen schnelleren Weg?
codes = dict(zip(codes.values(), codes.keys()))
decoded_mess = []
pom = ""
for i in message:
pom += i
if pom in codes:
decoded_mess.append(codes[pom])
pom = ""
sah ich die Antworten hier Easiest way to replace a string using a dictionary of replacements? und ich versuchte, aber das nicht für mich arbeiten. Vielleicht, weil es sich um ganze Wörter handelt, aber ich habe 1 lange Folge von 1s und 0s.
Ist das nicht Ihr Wörterbuch falsch herum? Und sollten nicht alle Schlüssel (oder Werte) eine feste Länge haben? – jonrsharpe
@jonrsharpe er tauscht Schlüsselwerte in der Lösung aus. – Maroun
@MarounMaroun oh ... dann warum das separat zeigen ?! – jonrsharpe