Wie führt man effiziente String-Ersetzungen mithilfe eines Wörterbuchs in Python durch?

Patricia Arquette
Freigeben: 2024-10-19 16:03:30
Original
162 Leute haben es durchsucht

How to Perform Efficient String Replacements Using a Dictionary in Python?

So führen Sie mehrere Zeichenfolgenersetzungen mithilfe eines Wörterbuchs durch

In Szenarien, in denen Sie mehrere Ersetzungen innerhalb einer Zeichenfolge basierend auf dem Schlüsselwert vornehmen müssen Paare kann sich die Verwendung eines Wörterbuchs als effektiv erweisen. Hier ist eine Python-Lösung:

<code class="python">import re

s = 'Спорт russianA'
d = {
    'Спорт': 'Досуг',
    'russianA': 'englishA',
}

# Construct a regular expression pattern for all dictionary keys
keys = (re.escape(k) for k in d.keys())
pattern = re.compile(r'\b(' + '|'.join(keys) + r')\b')

# Replace keys with corresponding values
result = pattern.sub(lambda x: d[x.group()], s)
# Output: 'Досуг englishA'</code>
Nach dem Login kopieren

Dieser Ansatz verwendet reguläre Ausdrücke, um die Schlüssel in der Zeichenfolge zu finden, und ersetzt sie durch ihre Werte aus dem Wörterbuch. Um nur ganze Wörter abzugleichen, geben Sie Wortgrenzen (b) im Muster an.

Wenn keine Übereinstimmung ganzer Wörter erforderlich ist, verwenden Sie das Muster:

<code class="python">pattern = re.compile('|'.join(re.escape(k) for k in d.keys()))</code>
Nach dem Login kopieren

Hinweis: Sortieren Sie in diesem Fall die Wörterbuchschlüssel absteigend nach Länge, um fehlerhafte Ersetzungen zu verhindern, wenn einige Schlüssel Teilzeichenfolgen anderer sind.

Das obige ist der detaillierte Inhalt vonWie führt man effiziente String-Ersetzungen mithilfe eines Wörterbuchs in Python durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!