Работа над назначением python и было любопытно, что означает [: -1] в контексте следующего кода: instructions = f.readline()[:-1]
Искали здесь по С.О. и в Google, но безрезультатно. Хотелось бы получить объяснение!
Ответ 1
Он разрезает строку, чтобы опустить последний символ, в этом случае символ новой строки:
>>> 'test\n'[:-1]
'test'
Так как это работает даже на пустых строках, это довольно безопасный способ удаления этого последнего символа, если он присутствует:
>>> ''[:-1]
''
Это работает в любой последовательности, а не только в строках.
Ответ 2
Это означает "все элементы последовательности, но последние". В контексте f.readline()[:-1] это означает: "Я уверен, что строка заканчивается новой строкой, и я хочу ее разбить".
Ответ 3
Он выбирает все, кроме последнего элемента последовательности.
Пример ниже, используя список:
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]
Ответ 4
Он получает все элементы из списка (или символы из строки), но последний элемент.
: представляет собой список
-1 подразумевается последний элемент списка