Індексація та зрізи
Свайпніть щоб показати меню
Рядки — це послідовності: кожен символ має свою позицію (індекс). Python використовує нульову індексацію, тому перший символ знаходиться за індексом 0. Отримати окремі символи можна за допомогою індексації, а діапазони символів — за допомогою зрізів.
Індексація
Використовуйте квадратні дужки з однією позицією.
123s = "python" print(s[0]) # 'p' (first character) print(s[5]) # 'n' (sixth character)
Від’ємні індекси рахуються з кінця.
123s = "python" print(s[-1]) # 'n' (last character) print(s[-2]) # 'o' (second from the end)
Індексація повинна вказувати на існуючу позицію, інакше виникає IndexError.
12s = "python" print(s[10]) # IndexError: string index out of range
Крім того, рядки є незмінними, тому можна читати s[i], але не можна присвоювати значення.
12s = "python" s[0] = 'P' # TypeError: 'str' object does not support item assignment
Зрізи
Зріз використовує start:stop:step і повертає новий рядок. stop є виключним (не включається).
12345s = "python" print(s[1:4]) # 'yth' (indices 1,2,3) print(s[:4]) # 'pyth' (start defaults to 0) print(s[3:]) # 'hon' (stop defaults to len(s)) print(s[::2]) # 'pto' (every 2nd character)
Зрізи є гнучкими: вихід за межі просто обрізає до допустимих меж (без помилки).
12s = "python" print(s[0:100]) # 'python'
Від’ємні індекси та реверсування
Можна поєднувати від’ємні індекси у зрізах, а від’ємний step дозволяє рухатися у зворотному напрямку.
123s = "python" print(s[-3:]) # 'hon' (last three) print(s[::-1]) # 'nohtyp' (reverse)
step не може дорівнювати 0. Якщо step не вказано, використовується значення 1. Якщо не вказано start або stop, це означає "з початку" / "до кінця".
1. Яке значення виведе цей код?
2. Яке значення виведе цей код?
3. Який вираз викликає помилку для u = "hello"?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат