Не пытается воскресить неактивное сообщение, но так как оно еще не было опубликовано ...
(Вот как я это сделал, прежде чем нашел этот вопрос)
s = "hello"
target = "l"
last_pos = len(s) - 1 - s[::-1].index(target)
Объяснение: Когда вы ищете последнее вхождение, вы действительно ищете первое вхождение в обратной строке. Зная это, я сделал s[::-1]
(который возвращает обратную строку), а затем проиндексировал target
оттуда. Затем я сделал len(s) - 1 - the index found
, потому что мы хотим, чтобы индекс в необратимой (т.е. оригинальной) строке.
Берегись, хотя! Если target
больше чем один символ, вы, вероятно, не найдете его в обратной строке. Чтобы исправить это, используйте last_pos = len(s) - 1 - s[::-1].index(target[::-1])
, который ищет обратную версию target
.