eine Liste gegebenSlicing eine Liste über eine Variable, in Python
a = range(10)
Sie können es drehen Aussagen wie
a[1]
a[2:4]
jedoch mit, ich möchte dies an anderer Stelle setzen auf eine Variable basierend tun im Code. Ich kann das leicht für den ersten tun
i = 1
a[i]
Aber wie mache ich das für den anderen? Ich habe versucht, Indexierung mit einer Liste:
i = [2, 3, 4]
a[i]
Aber das funktioniert nicht. Ich habe auch versucht, mit einer Zeichenfolge:
i = "2:4"
a[i]
Aber das funktioniert auch nicht.
Ist das möglich?
Mein Anwendungsfall beinhaltete eine detaillierte Analyse von HTML, wobei versucht wurde, das letzte Element in dieser HTML-Tabelle zu finden. Der Code sah aus wie 'last_row = list (reversed (parsed_html_rows [-2: -1]))' Im Code-Review wurde mir klar, dass ich eine Reihe dieser "Magic Ranges" im Code hatte, um verschiedene Sachen herauszupicken. Wenn man ihnen einen Namen gibt, ist es für mich und den Rezensenten einfacher. 'Last_row_indices = slice (-2, -1)' und 'last_row = list (reversed (rows [last_row_indices])) # nicht mehr darüber, warum - 2: -1' –