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