Продолжаем разбирать довольно большую тему – строки. Сегодня поговорим об индексах и так называемых срезах. Поехали!
Строка в программировании – это упорядоченная коллекция символов у которой каждая буква имеет свой индекс. В программировании подсчет символов начинается с нуля, например:
В первой строке – 5 символов, если считать от нуля. Во второй – 11, знаки препинания и пробелы тоже имеют свой индекс.
Индекс символа можно узнать при помощи такой конструкции:
Под индексом 2 находится буква и. К несуществующим индексам обращаться нельзя, иначе, вы получите ошибку. Ниже привел пример, в котором обращение идет к девятому символу, из пяти существующих.
Теперь поговорим о срезах. Срезы это извлечение какого-либо символа из строки или же, фрагмента, приведу пример, Допустим в строке Привет, мир нам нужно вывести на экран только слово Привет, для этого мы пишем:
print("Привет, мир!" [:6])
В данном примере, срез возьмет группу элементов, до шестого индекса, не включительно, это означает что срез не возьмет в расчет элемент который стоит под 6-ым индексом, и это вам нужно будет запомнить. Теперь попробуем захватить только слово мир, для этого напишем:
print("Привет, мир!" [8:])
Срез возьмет все элементы начиная от восьмого индекса, и до конца строки.
Но что если нам нужно взять к примеру, только одно слово из строки, попробуем из строки Мне нравится изучать Python, слово изучать, для этого нам понадобится такая конструкция:
print("Мне нравится изучать Python" [13:20])
Если в срез не передать никаких параметров, то возьмется вся строка, от начала и до конца.
print("Мне нравится изучать Python" [:])
Также, у среза есть возможность указывать шаги в срезе, приведу пример в строке ниже:
print("Мне нравится изучать Python" [0:10:2])
Возьмутся символы с нулевого по десятый индекс, с шагом 2, т.е. каждая вторая буква.
И последний метод среза, который мы сегодня изучим, это переворот строки, напишем в PyCharm:
print("Мне нравится изучать Python" [::-1])
Возьмется вся строка, от начала и до конца, с шагом -1, а это означает, что текст прочитается программой справа налево.
Домашнее задание:
При помощи срезов и функции print(), исправьте грамматическую ошибку в слове "Петон", заменив одну неправильную букву. Ответ оставляйте в комментариях.