Ich habe ein Wörterbuch des Satzes aus einer Liste von String-PythonSchneller Weg ein Wörterbuch des Satzes aus einer Liste von String-Python entfernen
Eine Liste von Strings L1 zu entfernen. Beispiel: L1 = ['Programmer New York', 'Programmer San Francisco']
Ein Wörterbuch der Phrase L2 (alle sind mehr als ein Wort). Beispiel: L2={'New York', 'San Francisco'}
Die erwartete Ausgabe ist, entfernen für jede Zeichenfolge in L1 Teilzeichenfolge, die in L2 vorhanden ist. Die Ausgabe wird also res=['Programmer', 'Programmer']
sein.
def foo(L1, L2):
res = []
print len(L1)
for i in L1:
for j in L2:
if j in i:
i = i.replace(j, "")
res.append(i)
return res
Mein aktuelles Programm ist ein Brute-Force-Double-for-Loop. Aber ist es möglich, die Leistung zu verbessern? Vor allem, wenn die Größe von L1 sehr groß ist.
Ich wähle diese Frage als Wegthema zu schließen, wenn Ihr Code funktioniert, und Sie möchten Kritik/Optimierungen gehört es auf codereview.stackexchange .com –
Sie sollten nicht über L2 überhaupt iterieren müssen. –
@ Two-BitAlchemist Dies sieht wie Beispielcode aus und wäre daher in der Code Review off-topic. Der echte Arbeitscode wäre dort jedoch in Ordnung. – Phrancis