kshnkvn
@kshnkvn
yay ✌️ t.me/kshnkvn

Что делает аргумент [-1] метода rsplit?

Есть строка:
filename = url.rsplit('/', 1)[-1]
В url хранится строка типа "demositecom/4f5D6x.txt"
После выполнения метода rsplit в переменной filename остается 4f5D6x.txt. Если убрать [-1], то переменная filename будет ссылать на список ['demositecom', '4f5D6x'] без .txt.
Я так понимаю сама по себе разбивает строку на элементы списка по символу и с выбранным шагом, но куда девается .txt и в чем суть [-1]? В списках он указывается для указания начальной позиции с последнего элемента, но почему тогда убирается 'demositecom'?
  • Вопрос задан
  • 207 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Это не аргумент, а отрицательный индекс списка, который возвращает rsplit
In [1]: url = 'http://demositecom/4f5D6x.txt'

In [2]: url.rsplit('/', 1)
Out[2]: ['http://demositecom', '4f5D6x.txt']

In [3]: ['http://demositecom', '4f5D6x.txt'][-1]
Out[3]: '4f5D6x.txt'

То есть код разбивает строку по символу '/' и берёт первый элемент с конца.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы