Как вы изменяете строку Python, не опуская аргументы начального и конечного срезов?
word = "hello"
reversed_word = word[::-1]
Я понимаю, что это работает, но как бы получить результат, указав начальные и конечные индексы?
word = "hello"
reversed_word = word[?:?:-1]
Трудно объяснить студентам, почему word[::-1]
меняет строку. Это лучше, если я могу дать им логические рассуждения, а не "это питонический путь".
Способ, которым я объясняю word[::1]
, выглядит следующим образом: "Вы не указали начало, чтобы оно начиналось с самого начала. Вы не указали конец, чтобы он просто доходил до конца. Теперь шаг 1, поэтому он просто идет от начала до конца 1 символ на 1." Теперь, когда мои ученики видят word[::-1]
, они собираются подумать: "Мы не указали начало или конец, чтобы оно проходило через строку -1 символов за раз?"