Ich will nicht einen inaktiven Beitrag wiederbeleben, aber da dies noch nicht gepostet wurde...
(So habe ich es gemacht, bevor ich diese Frage fand)
s = "hello"
target = "l"
last_pos = len(s) - 1 - s[::-1].index(target)
Erläuterung: Wenn Sie nach dem letzten Vorkommen suchen, suchen Sie eigentlich nach dem ersten Vorkommen in der umgekehrten Zeichenfolge. Da ich das weiß, habe ich s[::-1]
(die eine umgekehrte Zeichenkette zurückgibt), und dann die Indizierung der target
von dort aus. Dann habe ich len(s) - 1 - the index found
denn wir wollen den Index in der nicht umgedreht (d.h. die ursprüngliche) Zeichenfolge.
Aber aufgepasst! Wenn target
mehr als ein Zeichen ist, werden Sie es wahrscheinlich nicht in der umgekehrten Zeichenfolge finden. Um dies zu beheben, verwenden Sie last_pos = len(s) - 1 - s[::-1].index(target[::-1])
die nach einer umgekehrten Version von target
.