BEARBEITEN:
%Vor%Karte dauerte 1 Sekunde (auf alten Python) Imap war sofort da Imap einen Generator zurückgibt. Beachten Sie, dass in der realen Welt die Wahrscheinlichkeit höher ist, dass die Zahl am Ende des Dateinamens steht.
Und nur für die Gründlichkeit:
any (c.isdigit ()):
%Vor%any (c in Ziffern):
%Vor%re.search (1 oder mehr Ziffern):
%Vor%re.search (Stopp nach einer Ziffer):
%Vor%re.match (nicht gierig):
%Vor%re.match (gierig):
%Vor%any (Karte ()):
%Vor%any (imap ()):
%Vor% Im Allgemeinen liefen die weniger komplexen Regexps schneller. c.isdigit()
und c in digits
sind fast gleichwertig. re.match
ist etwas schneller als re.search
. map()
ist die langsamste Lösung, aber imap()
war am schnellsten (aber innerhalb des Rundungsfehlers von any(c.isdigit)
und any(c in digits)
.
Um Zeichen in den Zahlen zu erkennen, verwenden Sie den Operator ?
.
Tags und Links python