Ik heb veel stringparen en één grote reeks (wat de inhoud van een bestand is). Ik moet elk voorkomen van het eerste lid in elk paar vervangen door het respectievelijke tweede lid.
Als u bijvoorbeeld paren ("AA", "BB") en ("qq", "rt") heeft, moet ik elk voorkomen van AA vervangen door BB en van qq met rt .
De strings in de paren zijn allemaal uniek, dus de volgorde van de vervangingen doet er niet toe op het eindresultaat.
Mijn python-code is de meest naïef - ik pas de methode string.replace successievelijk toe totdat alle paren zijn uitgeput:
>>> s="frsfsdAAsdfvsdfvqqdsff"
>>> pairs=[('AA', 'BB'), ('qq', 'rt')]
>>> for p in pairs:
... s=s.replace(p[0], p[1])
...
>>> s
'frsfsdBBsdfvsdfvrtdsff'
>>>
Ik geloof dat dit een slechte oplossing is voor grote reeksen. Kan iemand een efficiëntere voorstellen?
De vraag gaat over hoe u dit in Python moet doen.
Bedankt.