Wat betekent [: -1] in Python? [DUPLICEER]

Werken aan een Python-toewijzing en was nieuwsgierig naar wat [: -1] betekent in de context van de volgende code: instructions = f.readline()[:-1]

hebben hier gezocht op S.O. en op Google maar zonder baten. Zou van een verklaring houden!


Antwoord 1, Autoriteit 100%

Het plakjes de tekenreeks om het laatste karakter weg te laten, in dit geval een nieuwlijnkarakter:

>>> 'test\n'[:-1]
'test'

Sinds deze werkt, zelfs op lege snaren, is het een vrij veilige manier om dat laatste teken te verwijderen, indien aanwezig:

>>> ''[:-1]
''

Dit werkt op elke reeks, niet alleen.

Voor regels in een tekstbestand, gebruik ik daadwerkelijk line.rstrip('\n')naar Verwijder alleen een nieuwlijn ; Soms eindigt de laatste regel in het bestand niet in een nieuwlijnkarakter en het gebruik van snijden, verwijdert het dan ook welk ander karakter het laatst is op die lijn.


Antwoord 2, Autoriteit 27%

het betekent “alle elementen van de reeks maar de laatste”. In de context van f.readline()[:-1]Het betekent “Ik ben er vrij zeker van dat de lijn eindigt met een nieuwe lijn en ik wil het strippen”.


Antwoord 3, Autoriteit 25%

Het selecteert alles behalve het laatste element van een reeks.

Voorbeeld hieronder met behulp van een lijst:

In [15]: a=range(10)
In [16]: a
Out[16]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
In [17]: a[:-1]
Out[17]: [0, 1, 2, 3, 4, 5, 6, 7, 8]

Antwoord 4, Autoriteit 5%

Het krijgt alle elementen uit de lijst (of tekens uit een string) maar het laatste element.

:staat voor door de lijst te gaan
-1impliceert het laatste element van de lijst

Other episodes