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