Індексація та зрізи
Рядки — це послідовності: кожен символ має свою позицію (індекс). 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"?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Чудово!
Completion показник покращився до 3.45
Індексація та зрізи
Свайпніть щоб показати меню
Рядки — це послідовності: кожен символ має свою позицію (індекс). 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"?
Дякуємо за ваш відгук!