Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Індексація та Зрізи | Рядки
Типи Даних у Python

bookІндексація та Зрізи

Рядки — це послідовності: кожен символ має свою позицію (індекс). У Python використовується нульова індексація, тобто перший символ знаходиться за індексом 0. Можна отримати окремі символи за допомогою індексації та діапазони символів за допомогою зрізів.

Індексація

Використовуйте квадратні дужки з однією позицією.

123
s = "python" print(s[0]) # 'p' (first character) print(s[5]) # 'n' (sixth character)
copy

Від’ємні індекси рахуються з кінця.

123
s = "python" print(s[-1]) # 'n' (last character) print(s[-2]) # 'o' (second from the end)
copy

Індексування повинно відповідати існуючій позиції; інакше виникає IndexError.

12
s = "python" print(s[10]) # IndexError: string index out of range
copy

Крім того, рядки є незмінними, тому можна читати s[i], але не можна присвоювати значення за індексом.

12
s = "python" s[0] = 'P' # TypeError: 'str' object does not support item assignment
copy

Зрізи

Зріз використовує start:stop:step і повертає новий рядок. stop є виключним (не включається до результату).

12345
s = "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)
copy

Зрізи є гнучкими: вихід за межі просто обрізає до допустимих границь (без помилки).

12
s = "python" print(s[0:100]) # 'python'
copy

Від’ємні індекси та реверсування

Можна поєднувати від’ємні індекси у зрізах, а від’ємний step дозволяє рухатися у зворотному напрямку.

123
s = "python" print(s[-3:]) # 'hon' (last three) print(s[::-1]) # 'nohtyp' (reverse)
copy
Note
Примітка

step не може дорівнювати 0. Якщо не вказано step, використовується значення 1. Якщо не вказано start або stop, це означає "з початку" / "до кінця".

1. Яке значення виведе цей код?

2. Яке значення виведе цей код?

3. Який вираз викликає помилку для u = "hello"?

question mark

Яке значення виведе цей код?

Select the correct answer

question mark

Яке значення виведе цей код?

Select the correct answer

question mark

Який вираз викликає помилку для u = "hello"?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 2

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

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

bookІндексація та Зрізи

Свайпніть щоб показати меню

Рядки — це послідовності: кожен символ має свою позицію (індекс). У Python використовується нульова індексація, тобто перший символ знаходиться за індексом 0. Можна отримати окремі символи за допомогою індексації та діапазони символів за допомогою зрізів.

Індексація

Використовуйте квадратні дужки з однією позицією.

123
s = "python" print(s[0]) # 'p' (first character) print(s[5]) # 'n' (sixth character)
copy

Від’ємні індекси рахуються з кінця.

123
s = "python" print(s[-1]) # 'n' (last character) print(s[-2]) # 'o' (second from the end)
copy

Індексування повинно відповідати існуючій позиції; інакше виникає IndexError.

12
s = "python" print(s[10]) # IndexError: string index out of range
copy

Крім того, рядки є незмінними, тому можна читати s[i], але не можна присвоювати значення за індексом.

12
s = "python" s[0] = 'P' # TypeError: 'str' object does not support item assignment
copy

Зрізи

Зріз використовує start:stop:step і повертає новий рядок. stop є виключним (не включається до результату).

12345
s = "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)
copy

Зрізи є гнучкими: вихід за межі просто обрізає до допустимих границь (без помилки).

12
s = "python" print(s[0:100]) # 'python'
copy

Від’ємні індекси та реверсування

Можна поєднувати від’ємні індекси у зрізах, а від’ємний step дозволяє рухатися у зворотному напрямку.

123
s = "python" print(s[-3:]) # 'hon' (last three) print(s[::-1]) # 'nohtyp' (reverse)
copy
Note
Примітка

step не може дорівнювати 0. Якщо не вказано step, використовується значення 1. Якщо не вказано start або stop, це означає "з початку" / "до кінця".

1. Яке значення виведе цей код?

2. Яке значення виведе цей код?

3. Який вираз викликає помилку для u = "hello"?

question mark

Яке значення виведе цей код?

Select the correct answer

question mark

Яке значення виведе цей код?

Select the correct answer

question mark

Який вираз викликає помилку для u = "hello"?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 2
some-alt