2016-07-14 5 views
1
l=[1,2,3,4,5,6,7,8,9,10] 
print l[7:-9:-1] 

der Ausgang für obigen Code istListe Verhalten im gegebenen Fall

[8, 7, 6, 5, 4, 3]

Wie Liste Slicing hier funktioniert?

+0

Mögliches Duplikat von [Python-Slice-Notation erklären] (http://stackoverflow.com/questions/509211/explain-pythons-slice-notation) –

Antwort

1

Die Scheibe Syntax ist

mylist[ <index_of_first_element(included)> : <index_of_endpoint_element(excluded)> : <stepsize>] 

Negative Indizes ihren Weg rückwärts gehen arbeiten. In diesem Fall -9 ist das neunte Element rückwärts vom Ende (dh "2")

Python nullindiziert ist, so dass hier Index 7 Wert "8" hat

Sie sind also sagen, Python Holen Sie das Element mit dem Index 7 (dh das achte Element, da Python null-indiziert ist), das hier "8" ist, dann gehen Sie einen Indexwert nach dem anderen zurück (weil stepsize "-1" ist), bis Sie den "Endpunkt" erreichen "Element mit Index -9 (was hier" 2 "ist), und ohne diesen Endpunkt zu enthalten (weil so die Aufteilung definiert ist).

Verwandte Themen