Python - Schnellste Möglichkeit zu überprüfen, ob eine Zeichenfolge bestimmte Zeichen in einem der Elemente in einer Liste enthält

8

Was ist der schnellste Weg, um zu überprüfen, ob eine Zeichenfolge einige Zeichen aus beliebigen Elementen einer Liste enthält?

Momentan verwende ich diese Methode:

%Vor%

Gibt es einen Weg, es ohne Iteration zu machen (was es schneller machen wird, nehme ich an.)?

    
Ultimate Zero 19.01.2013, 06:01
quelle

4 Antworten

14

Sie können das Listenverständnis mit der Mitgliedschaftsprüfung testen

%Vor%

Verglichen mit Ihrer Implementierung, obwohl LC eine implizite Schleife hat, aber schneller ist, da es keinen expliziten Funktionsaufruf wie in Ihrem Fall mit count

gibt

Im Vergleich zur Implementierung von Joe ist Ihre Methode viel schneller, da die Filterfunktion zwei Funktionen in einer Schleife aufrufen müsste: lambda und count

%Vor%

Jamies kommentierte Lösung ist für kürzere Saiten langsamer. Hier ist das Testergebnis

%Vor%

Wenn Sie boolesche Werte benötigen, ändern Sie für kürzere Strings einfach den obigen LC-Ausdruck

%Vor%

Oder für längere Strings können Sie Folgendes tun

%Vor%

oder

%Vor%     
Abhijit 19.01.2013, 06:08
quelle
1
%Vor%

Dadurch werden alle Zeichenfolgen, die Sie suchen, als Liste zurückgegeben.

    
Joe 19.01.2013 06:08
quelle
0

Wenn bei dem Test festgestellt werden soll, ob Zeichen gemeinsam sind (keine Wörter oder Segmente), erstellen Sie ein Set aus den Buchstaben in der Liste und überprüfen Sie dann die Buchstaben gegen die Zeichenfolge:

%Vor%

Aber ich gehe davon aus, dass Sie nur ein gemeinsames Zeichen suchen ...

    
theodox 19.01.2013 06:20
quelle
0

Die Bibliothek esmre macht's möglich. In deinem Fall ist das einfachere esm (Teil von esmre) was du willst.

Ссылка

Ссылка

Sie haben eine gute Dokumentation und Beispiele: Aus ihren Beispielen genommen:

%Vor%

Ich habe einige Leistungstests durchgeführt:

%Vor%

Und das Ergebnis hängt hauptsächlich von der Anzahl der Elemente ab, nach denen man sucht (in meinem Fall "N"):

%Vor%     
moomima 12.05.2014 10:32
quelle

Tags und Links