Індексація та Зрізи
Рядки — це послідовності: кожен символ має свою позицію (індекс). У 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"?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain more about how slicing works with different step values?
What happens if I use both negative start and stop indices in a slice?
Can you give more examples of string immutability in Python?
Awesome!
Completion rate improved to 5
Індексація та Зрізи
Свайпніть щоб показати меню
Рядки — це послідовності: кожен символ має свою позицію (індекс). У 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"?
Дякуємо за ваш відгук!