Помогите с объяснением

Karina

Новичок
Пользователь
Окт 8, 2020
16
0
1
Изучаю тему последовательностей и строк. Помогите новичку объяснить, почему получается так, что в [-1:1] оператор не возвращает результат?

print ('My alphabet starts where your alphabet ends.')
a = 'My alphabet starts where your alphabet ends.'
print (a[3:11])
print (a[3:-3])
print (a[:1])
print (a[-1:1])
print (a[:17])
print (a[18:])

Благодарю заранее за помощь :) Для меня важно разбираться даже в таких простых вещах.
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 625
469
83
[-1] это последний элемент в последовательности
[-1:1] так вы просите показать срез от последнего элемента до второго, соответственно он возвращает пустую строку, так как такой срез сделать нельзя
[:-1] таким образом обычно убирают символ перевода строки или другой не нужный символ в конце
пример
Python:
>>> 'test\n'[:-1]
'test'
 
Последнее редактирование:

Karina

Новичок
Пользователь
Окт 8, 2020
16
0
1
Спасибо ;)
 

lynulx

Модератор
Команда форума
Модератор
Авг 9, 2020
139
19
18
Изучаю тему последовательностей и строк. Помогите новичку объяснить, почему получается так, что в [-1:1] оператор не возвращает результат?

print ('My alphabet starts where your alphabet ends.')
a = 'My alphabet starts where your alphabet ends.'
print (a[3:11])
print (a[3:-3])
print (a[:1])
print (a[-1:1])
print (a[:17])
print (a[18:])

Благодарю заранее за помощь :) Для меня важно разбираться даже в таких простых вещах.
первый элемент включительный, второй нет, при чем первый должен быть раньше, чем второй
 

Форум IT Специалистов