Оригінальна публікація: What Does :: Mean in Python? Operator Meaning for Double Colon
Подвійну двокрапку (::
) можна використати в Python, щоб розрізати та отримати елементи з колекції даних (наприклад, зі списку чи рядка).
У цій публікації ви дізнаєтесь про синтаксис та як використовувати ::
, щоб розрізати список в Python. Ви також вивчите, як використовувати параметри, пов’язані з цим методом.
Синтаксис подвійної двокрапки (::
) в Python
Синтаксис подвійної двокрапки має такий вигляд:
collection[start:stop:step]
В синтаксисі вище:
- collection позначає колекцію даних (список, рядок, масив тощо);
- start позначає звідки починається розріз;
- stop позначає де закінчується розріз;
- step позначає послідовність ітерації над елементами.
Якщо розглянути синтаксис уважніше, ви помітите, що параметри розділені двокрапками.
Далі ми розглянемо приклади того, як працює кожен параметр.
Приклад подвійної двокрапки в Python №1
У цьому прикладі ми зосередимось на параметрі start
:
список_чисел = [2,4,6,8,10,12]
print(список_чисел[2:])
# [6, 8, 10, 12]
В прикладі вище ми створили список під назвою список_чисел
з такими елементами: [2,4,6,8,10,12].
Потім ми використали параметр start
, щоб розрізати список, починаючи з другого індексу: список_чисел[2:]
.
Ось індекси:
2 => індекс 0
4 => індекс 1
6 => індекс 2
8 => індекс 3
10 => індекс 4
12 => індекс 5
Не забувайте, що розріз починається з індексу 2. Тому буде повернено всі елементи після другого індексу до кінця списку: [6, 8, 10, 12]
.
Це те ж саме, що й казати: «Надрукуй всі елементи списку, починаючи з конкретного індексу». Вказаний індекс також буде надруковано.
Зверніть увагу, що параметр start
пишеться перед першою двокрапкою.
Приклад подвійної двокрапки в Python №2
У цьому розділі ми розглянемо, як використовувати параметр stop
. Його пишуть після першої двокрапки та перед другою двокрапкою.
На відміну від параметра start
, конкретний індекс не враховується. Розріз закінчиться на індексі перед вказаним індексом.
Ось приклад:
список_чисел = [2,4,6,8,10,12]
print(список_чисел[:2])
# [2, 4]
Як і в попередньому розділі, індексом вказано 2. Ось індекси:
2 => індекс 0
4 => індекс 1
6 => індекс 2
8 => індекс 3
10 => індекс 4
12 => індекс 5
За допомогою параметра stop
можна отримати всі елементи перед конкретним індексом.
За індексом 2 розташоване число 6. Перед ним йдуть елементи 2 та 4, тому їх надруковано: [2, 4]
, а інші елементи «вирізано».
Приклад подвійної двокрапки в Python №3
Параметр step
працює цікавим способом. Його використовують, щоб вказати послідовність, якої потрібно дотримуватись під час розрізу колекції.
Параметр step
пишеться після другої двокрапки.
Якщо не вказувати параметри start
та stop
, то ви отримаєте цілий список. Жоден елемент не буде вирізано.
Оскільки ми вже говорили про параметри start
та stop
, то не будемо призначати значення до них. Ви краще зрозумієте принцип роботи параметра step
, якщо ми працюватимемо зі всіма елементами списку.
список_чисел = [2,4,6,8,10,12]
print(список_чисел[::2])
# [2, 6, 10]
Нарешті дві двокрапки розташовані разом: список_чисел[::2]
.
Для step
ми використали значення 2. Це означає, що протягом ітерації список стрибатиме на два кроки.
Першим елементом є 2. Якщо зробити два кроки з 2, ми опинимось на 6. Якщо зробити два кроки з 6, ми опинимось на 10. З 10 ми не можемо перейти, оскільки більше немає елементів.
Параметр step
можна прирівняти до того, як ходять по сходах. Якщо взяти наш код з прикладу, ви б зупинялись та друкували елемент на кожній другій сходинці.
Висновок
Подвійну двокрапку (::
) в Python використовують, щоб вказати як має поводитись операція «розрізу». Часто ці двокрапки використовують, щоб розрізати колекції даних.
У цій публікації ми побачили, як використовувати параметри start
, stop
та step
, щоб розрізати список.
Ми розглянули приклади до кожного параметра, що допомогло розпізнати різницю між ними та дізнатись, як вони впливають на структуру списку.
Щасливого програмування!