Python-filter/entfernen von URLs aus einer Liste
Ich habe eine Textdatei mit URLs, über 14000. Unten ein paar Beispiele:
http://www.domainname.com/pagename?CONTENT_ITEM_ID=100¶m2=123
http://www.domainname.com/images?IMAGE_ID=10
http://www.domainname.com/pagename?CONTENT_ITEM_ID=101¶m2=123
http://www.domainname.com/images?IMAGE_ID=11
http://www.domainname.com/pagename?CONTENT_ITEM_ID=102¶m2=123
Habe ich geladen, der text-Datei in eine Python-Liste und ich werde versuchen, alle URLs, die mit CONTENT_ITEM_ID getrennt in eine Liste auf Ihre eigenen. Was wäre der beste Weg, dies zu tun in Python?
Cheers
InformationsquelleAutor RailsSon | 2008-11-03
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist eine weitere alternative zu Graeme ist, mit den neueren list comprehension syntax:
Welche Sie bevorzugen, ist eine Frage des Geschmacks!
Ich mochte @bobince Antwort (+1), aber die ante.
Da haben Sie ein ziemlich großes Start-set, möchten Sie vielleicht zu vermeiden, laden Sie die gesamte Liste in den Speicher. Es sei denn, Sie müssen die ganze Liste für etwas anderes, man könnte ein Python-generator-Ausdruck zum ausführen der gleichen Aufgabe durch den Aufbau der gefilterten Liste Element für Element, als Sie aufgefordert:
Den filter, der die Funktion aufruft (der erste parameter) für jedes element von Liste1 (zweiter parameter). Wenn die Funktion true (nicht null), wird das element kopiert wird, um die Ausgabe-Liste.
Lambda im Grunde erstellt eine temporäre Unbenannte Funktion. Dies ist nur zu vermeiden, erstellen Sie eine Funktion und übergeben Sie dann, wie diese:
Auf Vollständigkeit; Sie können auch
ifilter
. Es ist wie der filter, aber nicht den Aufbau einer Liste.