[python] 파이썬 슬라이싱

디하·2024년 5월 30일

python

목록 보기
1/1
post-thumbnail

슬라이싱

슬라이싱이란 문자열 중 일부분만 잘라내서 쓰고 싶을 경우에 사용되는 방법

  • a[start:end:step] 형태로 사용
  • start와 end는 양수 또는 음수 값을 가질 수 있음
  1. 기본 형태: a[start:end]
  • start부터 end-1까지의 요소를 선택
  • 만약 start가 생략되어있다면 0부터 시작, end를 생략하면 마지막 요소까지 선택

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 인덱스 2부터 6까지 선택
print(numbers[2:7])  # Output: [3, 4, 5, 6, 7]

# 처음부터 5번째 요소까지 선택
print(numbers[:5])   # Output: [1, 2, 3, 4, 5]

# 7번째 요소부터 끝까지 선택
print(numbers[6:])   # Output: [7, 8, 9, 10]

# 짝수 번째 요소만 선택
print(numbers[::2])  # Output: [1, 3, 5, 7, 9]
  • 음수 인덱싱 :
    음수 인덱스를 사용하면 뒤에서부터 선택
    -1 -> 마지막 요소
    -2 -> 그 앞의 요소

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 역순으로 선택
print(numbers[::-1]) 
# Output: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

문자열도 가능


greeting = "Hello, World!"

# 인덱스 0부터 5까지 선택
print(greeting[0:6])   # Output: "Hello,"

# 처음부터 5번째 문자까지 선택
print(greeting[:5])    # Output: "Hello"

# 7번째 문자부터 끝까지 선택
print(greeting[7:])    # Output: "World!"

# 2칸씩 건너뛰며 선택
print(greeting[::2])   # Output: "HloWrd"

# 역순으로 선택
print(greeting[::-1])  # Output: "!dlroW ,olleH"
  1. 증가폭 지정 : a[start:end:step]
  • step 간격으로 요소를 선택
  • step을 생략하면 기본값 1
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 2칸씩 건너뛰며 선택
print(numbers[::2])   # Output: [1, 3, 5, 7, 9]

# 역순으로 선택
print(numbers[::-1])  # Output: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

# 3칸씩 건너뛰며 역순으로 선택
print(numbers[::-3])  # Output: [10, 7, 4, 1]

greeting = "Hello, World!"

# 2칸씩 건너뛰며 선택
print(greeting[::2])   # Output: "HloWrd"

# 역순으로 선택
print(greeting[::-1])  # Output: "!dlroW ,olleH"

# 3칸씩 건너뛰며 역순으로 선택
print(greeting[::-3])  # Output: "Hd!"
profile
🖥️ ⌨️🖱️🩵

0개의 댓글