У Python нарізка списків є звичайною практикою, і це найбільш використовувана техніка програмістів для ефективного вирішення проблем. Розглянемо список Python, щоб отримати доступ до діапазону елементів у списку, вам потрібно розрізати список. Один із способів зробити це — використати простий оператор нарізки, наприклад двокрапка(:). За допомогою цього оператора можна вказати, де почати нарізку, де закінчити, і вказати крок. Нарізка списку повертає новий список із наявного списку.
Синтаксис нарізки списку Python
Формат нарізки списку – це Python Нарізка списку виглядає наступним чином:
Lst [ Initial : End : IndexJump ]>
Якщо Lst є списком, тоді наведений вище вираз повертає частину списку з індексу Початковий індексувати Кінець , з розміром кроку IndexJump .
Індексація в Python List
Індексування — це техніка доступу до елементів a Список Python . Є різні способи, якими ми можемо отримати доступ до елемента списку.
Позитивні показники
У випадку позитивного індексування перший елемент списку має номер індексу 0, а останній елемент списку має номер індексу N-1, де N – загальна кількість елементів у списку (розмір списку ).

Позитивне індексування списку Python
приклад:
У цьому прикладі ми відобразимо цілий список за допомогою нарізки позитивного індексу.
Python3
# Initialize list> Lst> => [> 50> ,> 70> ,> 30> ,> 20> ,> 90> ,> 10> ,> 50> ]> # Display list> print> (Lst[::])> |
>
>
Вихід:
[50, 70, 30, 20, 90, 10, 50]>
Негативні індекси
На наведеній нижче діаграмі показано список із негативними індексами. Індекс -1 представляє останній елемент, а -N - перший елемент списку, де N - довжина списку.

Негативна індексація списку Python
приклад:
У цьому прикладі ми будемо звертатися до елементів списку за допомогою негативного індексування.
Python3
# Initialize list> Lst> => [> 50> ,> 70> ,> 30> ,> 20> ,> 90> ,> 10> ,> 50> ]> # Display list> print> (Lst[> -> 7> ::> 1> ])> |
>
>
Вихід:
[50, 70, 30, 20, 90, 10, 50]>
Нарізка
Як згадувалося раніше, нарізка списків у Python є звичайною практикою, і її можна використовувати як з позитивними, так і з негативними індексами. Наведена нижче діаграма ілюструє техніку нарізки списку:

Нарізка списку Python
приклад:
У цьому прикладі ми перетворимо наведену вище ілюстрацію в код Python.
Python3
# Initialize list> Lst> => [> 50> ,> 70> ,> 30> ,> 20> ,> 90> ,> 10> ,> 50> ]> # Display list> print> (Lst[> 1> :> 5> ])> |
>
>
Вихід:
[70, 30, 20, 90]>
Приклади нарізки списку в Python
Давайте подивимося кілька прикладів, які зображують використання нарізки списку в Python.
Приклад 1: Якщо залишити будь-який аргумент, як-от Initial, End або IndexJump, порожнім, це призведе до використання значень за замовчуванням, тобто 0 як Initial, довжина списку як End і 1 як IndexJump.
Python3
# Initialize list> List> => [> 1> ,> 2> ,> 3> ,> 4> ,> 5> ,> 6> ,> 7> ,> 8> ,> 9> ]> # Show original list> print> (> 'Original List:
'> ,> List> )> print> (> '
Sliced Lists: '> )> # Display sliced list> print> (> List> [> 3> :> 9> :> 2> ])> # Display sliced list> print> (> List> [::> 2> ])> # Display sliced list> print> (> List> [::])> |
>
>
симетрична різниця
Вихід:
Original List: [1, 2, 3, 4, 5, 6, 7, 8, 9] Sliced Lists: [4, 6, 8] [1, 3, 5, 7, 9] [1, 2, 3, 4, 5, 6, 7, 8, 9]>
приклад 2: Перевернутий список можна створити, використовуючи від’ємне ціле число як аргумент IndexJump. Залиште початкову та кінець пустими. Нам потрібно вибрати початкове та кінцеве значення відповідно до перевернутого списку, якщо значення IndexJump від’ємне.
Python3
# Initialize list> List> => [> 'Geeks'> ,> 4> ,> 'geeks !'> ]> # Show original list> print> (> 'Original List:
'> ,> List> )> print> (> '
Sliced Lists: '> )> # Display sliced list> print> (> List> [::> -> 1> ])> # Display sliced list> print> (> List> [::> -> 3> ])> # Display sliced list> print> (> List> [:> 1> :> -> 2> ])> |
>
>
Вихід:
Original List: ['Geeks', 4, 'geeks !'] Sliced Lists: ['geeks !', 4, 'Geeks'] ['geeks !'] ['geeks !']>
приклад 3: Якщо створюються деякі вирази зрізу, які не мають сенсу або не підлягають обчисленню, тоді генеруються порожні списки.
Python3
# Initialize list> List> => [> -> 999> ,> 'G4G'> ,> 1706256> ,> '^_^'> ,> 3.1496> ]> # Show original list> print> (> 'Original List:
'> ,> List> )> print> (> '
Sliced Lists: '> )> # Display sliced list> print> (> List> [> 10> ::> 2> ])> # Display sliced list> print> (> List> [> 1> :> 1> :> 1> ])> # Display sliced list> print> (> List> [> -> 1> :> -> 1> :> -> 1> ])> # Display sliced list> print> (> List> [:> 0> :])> |
>
>
Вихід:
Original List: [-999, 'G4G', 1706256, '^_^', 3.1496] Sliced Lists: [] [] [] []>
Приклад 4: Нарізку списку можна використовувати для зміни списків або навіть видалення елементів зі списку.
Python3
# Initialize list> List> => [> -> 999> ,> 'G4G'> ,> 1706256> ,> 3.1496> ,> '^_^'> ]> # Show original list> print> (> 'Original List:
'> ,> List> )> print> (> '
Sliced Lists: '> )> # Modified List> List> [> 2> :> 4> ]> => [> 'Geeks'> ,> 'for'> ,> 'Geeks'> ,> '!'> ]> # Display sliced list> print> (> List> )> # Modified List> List> [:> 6> ]> => []> # Display sliced list> print> (> List> )> |
>
>
Вихід:
Original List: [-999, 'G4G', 1706256, 3.1496, '^_^'] Sliced Lists: [-999, 'G4G', 'Geeks', 'for', 'Geeks', '!', '^_^'] ['^_^']>
Приклад 5: За допомогою об’єднання нарізаних списків можна створити новий список або навіть змінити вже існуючий список.
Python3
# Initialize list> List> => [> 1> ,> 2> ,> 3> ,> 4> ,> 5> ,> 6> ,> 7> ,> 8> ,> 9> ]> # Show original list> print> (> 'Original List:
'> ,> List> )> print> (> '
Sliced Lists: '> )> # Creating new List> newList> => List> [:> 3> ]> +> List> [> 7> :]> # Display sliced list> print> (newList)> # Changing existing List> List> => List> [::> 2> ]> +> List> [> 1> ::> 2> ]> # Display sliced list> print> (> List> )> |
>
>
Вихід:
Original List: [1, 2, 3, 4, 5, 6, 7, 8, 9] Sliced Lists: [1, 2, 3, 8, 9] [1, 3, 5, 7, 9, 2, 4, 6, 8]>