Что означает [: -1] в/python?

Работа над назначением 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 подразумевается последний элемент списка