반응형

Slice Notation이란?


Slice notation은 데이터 시퀀스의 부분을 선택하는 방법입니다. 이것은 데이터를 가져오거나 잘라낼 때 사용됩니다. 일반적으로 start:stop:step 형식으로 작성되며, 각각의 요소는 선택할 범위를 지정합니다. 각 요소는 선택적이며, 생략할 수 있습니다.

 

1. 기본 슬라이스 표기법

  • a[start:stop]: start부터 stop-1까지의 아이템을 선택합니다.
  • a[start:]: start부터 끝까지의 아이템을 선택합니다.
  • a[:stop]: 처음부터 stop-1까지의 아이템을 선택합니다.
  • a[:]: 전체 어레이의 복사본을 생성합니다.

2. Step 이용 

  • a[start:stop:step]: start부터 시작하여 step-1까지의 step별 아이템을 선택합니다.

3.  음수 인덱스 

  • a[-1]: 어레이의 마지막 아이템을 선택합니다.
  • a[-2:]: 어레이의 마지막 두 개의 아이템을 선택합니다.
  • a[:-2]: 마지막 두 개의 아이템을 제외한 모든 아이템을 선택합니다

4. 역순 슬라이싱

  • a[::-1]: 어레이의 모든 아이템을 역순으로 선택합니다.
  • a[1::-1]: 처음 두 개의 아이템을 역순으로 선택합니다.
  • a[:-3:-1]: 마지막 두 개의 아이템을 역순으로 선택합니다.
  • a[-3::-1]: 마지막 두 개의 아이템을 제외한 모든 아이템을 역순으로 선택합니다.

5. 예시

 - 리스트(List) 슬라이싱

my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# 인덱스 2부터 5(포함하지 않음)까지의 요소를 선택
print(my_list[2:5])  # 출력: [2, 3, 4]

# 리스트의 처음부터 인덱스 5까지의 요소를 선택
print(my_list[:5])   # 출력: [0, 1, 2, 3, 4]

# 인덱스 5부터 끝까지의 요소를 선택
print(my_list[5:])   # 출력: [5, 6, 7, 8, 9]

# 인덱스 1부터 끝까지의 요소를 하나 건너뛰며 선택
print(my_list[1::2])  # 출력: [1, 3, 5, 7, 9]

# 리스트를 역순으로 출력
print(my_list[::-1])  # 출력: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

 

 - 문자열(String) 슬라이싱

my_string = "Hello, World!"

# 문자열의 인덱스 7부터 12(포함하지 않음)까지의 부분 문자열을 선택
print(my_string[7:12])  # 출력: World

# 문자열의 처음부터 인덱스 5까지의 부분 문자열을 선택
print(my_string[:5])    # 출력: Hello

# 인덱스 7부터 끝까지의 부분 문자열을 선택
print(my_string[7:])    # 출력: World!

# 문자열을 역순으로 출력
print(my_string[::-1])  # 출력: !dlroW ,olleH
반응형

'python' 카테고리의 다른 글

python 자주 사용하는 문자열 함수  (0) 2024.04.02
Python Dictionary  (0) 2024.03.28
Type Hints  (0) 2024.03.25
Dictionary Comprehension  (0) 2024.03.23
List Comprehension  (0) 2024.03.23

+ Recent posts