Я играл с индексом и нашел место для буквы
sentence = "Coding is hard"
index = sentence.index("i")
print(index)
у меня работало нормально, однако, когда я хотел найти больше, чем 1 я, это не сработало?
sentence = "Coding is hard"
index = sentence.index("i", index + 1)
print(index)
это не работает? может кто-нибудь объяснить, пожалуйста?
Этот Сообщение должен соответствовать вашей проблеме.
вызвать инструкцию несколько раз. каждый раз он будет использовать предыдущий индекс в качестве начального, поэтому он найдет следующий i
@gajendragarg о, я вижу, нет, но он выходит только как 7, а не 3 7, также с find он печатает только первый, а не второй
@I_Hate_Xcode Метод index()
находит первое вхождение указанного значения. Итак, после того, как вы увеличите значение индекса на 1, он будет искать i
от индекса 4 строки до конца.
Отвечает ли это на ваш вопрос? Как найти все индексы повторяющегося элемента в списке?
@gajendragarg Я хочу, чтобы он нашел i от индекса 3 до конца, как мне это сделать?
Хотя index()
— это один из подходов, и комментаторы дали вам подсказки, чтобы помочь с этим, другой способ найти все вхождения символа в строке — использовать понимание списка:
sentence = "Coding is hard"
indices = [i for i, c in enumerate(sentence) if c == "i"]
print(indices)
Это печатает:
[3, 7]
Во втором примере у вас нет переменной
index
, определенной до того, как вы вызовете метод индекса наsentence