Модульні уроки (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. Оцініть `domain`.
Показати підказку
електронна пошта[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 спроб