2017-08-23 2 views
0

Ich verwendePython Befehl mehrere Zeichenfolgen in eine Zeichenfolge

trans = zu ändern. Ich möchte jedoch auf mehrere Wörter gleichzeitig in eine definierende Zeichenfolge übersetzen, wie zum Beispiel:

trans = { „Eins, zwei, drei“: „Numbers“}

jedoch, das nicht funktioniert . Gibt es einen Befehl, der das in Python machen kann?

Danke!

+0

können Sie einfach + verwenden. "eins" + "zwei" = "onetwo" –

Antwort

0

Wenn Sie eine Zeichenfolge suchen und bestimmte Wörter durch andere ersetzen möchten, möchten Sie wahrscheinlich reguläre Ausdrücke verwenden. Etwas wie folgt aus:

import re 

re.sub('(apple|pear|banana)', 'fruit', 'I would like a pear and a banana') 

Ursprüngliche Antwort:

nicht sicher, ob ich völlig verstehe die Frage, aber ein Wörterbuch können mehrere verschiedene Schlüssel auf den gleichen Wert zuordnen.

{ 
    "One": "Numbers", 
    "two": "Numbers", 
    "three": "Numbers", 
} 

Von Ihrem Ausgangspunkt, können Sie die oben mit so etwas wie erstellen:

new_trans = {} 
for k, v in trans.items(): 
    for word in k.split(', '): 
     new_trans[word] = v 
+0

Ich denke, mein Beispiel war nicht gut genug. Die Idee ist, drei Strings durch eine andere Zeichenfolge zu ersetzen, und die drei Strings müssen drei bestimmte Wörter in der gleichen Datei sein. Also, wenn ich das Skript tut dies machen will, kann ich zum Beispiel gelte es durch das Ersetzen: „Apfel“, „Birne“, „orange“ mit „Frucht“ – user287546

+0

Antwort aktualisiert. – DomJack

+0

Danke, ich denke, der beste Weg, dies zu veranschaulichen, ist, was ich mit zwei Worten getan habe: new_trans = {} new_trans [("apple", "orange")] = "Fruit" Aber es funktioniert nur mit zwei Worten, nicht fünf. Dies sollte hier mit fünf Wörtern geschehen. – user287546

Verwandte Themen