Friday, May 31, 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

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...