Python에서 리스트 슬라이싱은 일반적인 관행이며 프로그래머가 효율적인 문제를 해결하기 위해 가장 많이 사용되는 기술입니다. Python 목록을 고려하면 목록의 요소 범위에 액세스하려면 목록을 분할해야 합니다. 이를 수행하는 한 가지 방법은 콜론(:)과 같은 간단한 슬라이싱 연산자를 사용하는 것입니다. 이 연산자를 사용하면 슬라이싱을 시작할 위치와 끝낼 위치를 지정하고 단계를 지정할 수 있습니다. 목록 분할은 기존 목록에서 새 목록을 반환합니다.
Python 목록 조각화 구문
리스트 슬라이싱의 형식은 다음과 같습니다. 파이썬 리스트 슬라이싱은 다음과 같습니다.
Lst [ Initial : End : IndexJump ]>
만약에 마지막 목록인 경우 위의 표현식은 인덱스에서 목록의 일부를 반환합니다. 초기의 색인을 생성하다 끝 , 단계 크기로 인덱스점프 .
Python 목록의 인덱싱
인덱싱은 요소에 액세스하는 기술입니다. 파이썬 목록 . 목록의 요소에 접근하는 방법은 다양합니다.
양수 지수
Positive Indexing의 경우 목록의 첫 번째 요소는 인덱스 번호 0을 가지며 목록의 마지막 요소는 인덱스 번호 N-1을 갖습니다. 여기서 N은 목록의 전체 요소 수(목록의 크기)입니다. ).

Python 목록의 포지티브 인덱싱
예:
이 예에서는 포지티브 인덱스 슬라이싱을 사용하여 전체 목록을 표시합니다.
파이썬3
# 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 목록의 음수 인덱싱
예:
이 예에서는 음수 인덱싱을 사용하여 목록의 요소에 액세스합니다.
파이썬3
# 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 코드로 변환합니다.
파이썬3
# 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은 초기, 목록 길이는 끝, 1은 IndexJump)이 사용됩니다.
파이썬3
# 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> [::])> |
>
>
난수 C 코드
산출:
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 값이 음수인 경우 역순 목록에 따라 초기 및 종료 값을 선택해야 합니다.
파이썬3
# 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: 의미가 없거나 계산할 수 없는 일부 슬라이싱 표현식이 만들어지면 빈 목록이 생성됩니다.
파이썬3
# 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: 목록 분할을 사용하면 목록을 수정하거나 목록에서 요소를 삭제할 수도 있습니다.
파이썬3
# 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: 분할된 목록을 연결하여 새 목록을 만들거나 기존 목록을 수정할 수도 있습니다.
파이썬3
# 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]>