Angenommen lst = [url1, url2, ...]
, ist Ihr aktueller Code sehr nahe daran, optimal zu arbeiten.
Die letzte Zeile des Codes lst2.append(i[0].split('/')][-1])
ist, wo die Probleme liegen.
von i[0]
rufen Sie bekommen im Wesentlichen das erste Zeichen des i
Zeichenfolge (da die i
von den Saiten im Inneren lst
ableitet) und Aufspalten es dann basierend auf /
, die nicht funktionieren würde. Dann haben Sie einen Fehler mit dem alleinigen ]
nach dem split
.
Also, um diesen Code zu beheben, hier ist, was Sie tun würden.
lst2 = []
for i in lst:
lst2.append(i.split('/')[-1])
und dann würde
['file.zip', 'file1.zip', ...]
lst2
Druck geben, die Ihre gewünschte Ausgabe ist.
Um zu erklären, ist i in lst
in der lst
Liste jedes Einzelteil erhalten haben, die Saiten sind. Innerhalb der Schleife wird dann die Zeichenkette i
entsprechend der /
darin geteilt, die ein anderes Array erzeugt. Aber Sie wollen den letzten Teil dieser Zeichenkette, also das letzte Element im Array, auf das unter Verwendung von [-1]
zugegriffen werden kann.
Was ist 'lst' hier? – yper
Es ist die Python-Liste, die die URLs enthält. Ich habe den Beitrag zur Klarstellung bearbeitet – e9e9s
@Wintro. Das ist das gleiche Rezept, das ich dachte, würde auch funktionieren, aber ich bekomme diese Nachricht, wenn ich es ausführen: AttributeError: 'Liste' Objekt hat kein Attribut 'Split' – e9e9s