Friday 31 May 2019

What does [:-1] mean/do in python?




Working on a python assignment and was curious as to what [:-1] means in the context of the following code: instructions = f.readline()[:-1]



Have searched on here on S.O. and on Google but to no avail. Would love an explanation!


Answer



It slices the string to omit the last character, in this case a newline character:



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



Since this works even on empty strings, it's a pretty safe way of removing that last character, if present:



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


This works on any sequence, not just strings.




For lines in a text file, I’d actually use line.rstrip('\n') to only remove a newline; sometimes the last line in the file doesn’t end in a newline character and using slicing then removes whatever other character is last on that line.


No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...