ho questa stringasottostringhe sostitutivi con un dizionario in Python
message = '10100010011'
e questo dizionario
codes = {97: '1', 98: '01', 107: '001', 114: '000'}
e ho bisogno di sostituire il messaggio originale utilizzando il dizionario a qualcosa di simile
[97, 98, 114, 97, 107, 97]
Ho provato a modo mio, il che funziona, ma quando uso alcune stringhe DAVVERO grandi, è davvero molto lento. C'è un modo più veloce per fare questo di questo?
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 = ""
ho visto le risposte qui Easiest way to replace a string using a dictionary of replacements? e ho provato, ma che non ha funzionato per me. Forse perché hanno a che fare con parole intere, ma ho una lunga stringa di 1 e 0.
Non è il dizionario nel modo sbagliato? E le chiavi (o i valori, al momento) non dovrebbero avere una lunghezza fissa? – jonrsharpe
@jonrsharpe sta scambiando i valori-chiave nella soluzione. – Maroun
@MarounMaroun oh ... allora perché mostrarlo separatamente ?! – jonrsharpe