Уроки модуля (2/4)
Нарезка и индексирование
В Python строки представляют собой последовательности символов: вы можете получить доступ
отдельные символы по индексу и вырезать подстроки с помощью среза
синтаксис [start:stop:step] — точно так же, как и в списках.
Положительные и отрицательные индексы
s = "Python"
# 0123456
# -6-5-4-3-2-1
s[0] # 'P'
s[5] # 'n'
s[-1] # 'n' (ultimo)
s[-2] # 'o' (penultimo)Доступ за пределами диапазона вызывает IndexError.
Нарезка [start:stop:step]
s = "Python"
s[0:3] # 'Pyt' indici 0,1,2 (stop ESCLUSO)
s[2:] # 'thon' dal 2 alla fine
s[:3] # 'Pyt' dall'inizio fino al 3 (escluso)
s[:] # 'Python' copia completa
s[-3:] # 'hon' ultimi 3
s[:-2] # 'Pyth' tutto tranne gli ultimi 2В отличие от индексации, нарезка НЕ вызывает ошибок, если индексы отсутствуют. диапазона: он вырезает все, что может.
Третий аргумент: step
s = "Python"
s[::2] # 'Pto' salta uno sì uno no
s[1::2] # 'yhn' dispari
s[::-1] # 'nohtyP' INVERSIONE (idiom famoso)s[::-1] — это идиоматический способ перевернуть строку.
Длина и сдерживание
len("Python") # 6
"th" in "Python" # True
"java" in "Python" # FalseОтрицательные индексы и шаг нарезки
Полный синтаксис нарезки: s[start:stop:step]. Если вы опустите start и stop, но зададите отрицательное значение step, равное -1 (s[::-1]), вы перевернете строку. Отрицательный индекс -1 всегда представляет последний символ строки, -2 — предпоследний символ и т. д.
Попробуйте это
Учитывая `word = 'PROGRAMMAZIONE'`, получите его обратное значение в `reversed_word`. Оцените `reversed_word`.
Показать подсказку
слово[::-1]
Решение доступно после 3 попыток
Обзор упражнения
Учитывая `email = 'ada@example.com'`, извлеките домен (все, что после '@') в `domain`, используя срез после нахождения индекса с помощью .find. Оцените «домен».
Показать подсказку
электронная почта[email.find('@') + 1:]
Решение доступно после 3 попыток
Дополнительная задача
Учитывая строку \`word = "pythonista"\`, используйте нарезку, чтобы извлечь первые 3 символа и последние 3 символа, и объединить их в новую строку \`short_word\`. Наконец, оцените \`short_word\` (оно должно дать \`'pytsta'\`).
Показать подсказку
The first 3 characters are word[:3], the last 3 are word[-3:]. Concatenate the two slices.
Решение доступно после 3 попыток