Python 목록 조각화

Python 목록 조각화

Python에서 리스트 슬라이싱은 일반적인 관행이며 프로그래머가 효율적인 문제를 해결하기 위해 가장 많이 사용되는 기술입니다. Python 목록을 고려하면 목록의 요소 범위에 액세스하려면 목록을 분할해야 합니다. 이를 수행하는 한 가지 방법은 콜론(:)과 같은 간단한 슬라이싱 연산자를 사용하는 것입니다. 이 연산자를 사용하면 슬라이싱을 시작할 위치와 끝낼 위치를 지정하고 단계를 지정할 수 있습니다. 목록 분할은 기존 목록에서 새 목록을 반환합니다.

Python 목록 조각화 구문

리스트 슬라이싱의 형식은 다음과 같습니다. 파이썬 리스트 슬라이싱은 다음과 같습니다.

Lst  [   Initial   :   End   :   IndexJump   ] 

만약에 마지막 목록인 경우 위의 표현식은 인덱스에서 목록의 일부를 반환합니다. 초기의 색인을 생성하다 , 단계 크기로 인덱스점프 .

Python 목록의 인덱싱

인덱싱은 요소에 액세스하는 기술입니다. 파이썬 목록 . 목록의 요소에 접근하는 방법은 다양합니다.

양수 지수

Positive Indexing의 경우 목록의 첫 번째 요소는 인덱스 번호 0을 가지며 목록의 마지막 요소는 인덱스 번호 N-1을 갖습니다. 여기서 N은 목록의 전체 요소 수(목록의 크기)입니다. ).

Python 목록의 포지티브 인덱싱

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 목록의 음수 인덱싱

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 목록 조각화

예:

이 예에서는 위 그림을 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> [::])>

산출:

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]