logo

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>[::])>

>

>

난수 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]>