프로그래밍/Python

파이썬(Python) Slicing: 완벽 가이드 (+코드)

프리다이어비티즈 2024. 10. 15. 09:14
반응형

목차

    파이썬의 슬라이싱(slicing)은 리스트, 문자열, 튜플 등 여러 시퀀스 자료형에서 사용될 수 있는 매우 강력한 기능입니다. 슬라이싱을 잘 활용하면 데이터 조작을 효율적으로 수행할 수 있습니다. 이번 글에서는 파이썬 슬라이싱의 기본적인 사용법부터 고급 활용법까지 다뤄보겠습니다.

    공지

    본 포스팅의 무단도용 및 배포를 금지합니다.

    1. 기본적인 슬라이싱 문법

    반응형

     

    슬라이싱의 기본 문법은 다음과 같습니다.

    sequence[start:stop:step]
    • start: 슬라이싱을 시작할 인덱스 (포함).
    • stop: 슬라이싱을 끝낼 인덱스 (포함하지 않음).
    • step: 인덱스 증가 값, 기본값은 1.

    예를 들어, 리스트에서 특정 요소를 추출하려면 다음과 같이 사용할 수 있습니다.

    numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    subset = numbers[2:8]
    print(subset)  # [2, 3, 4, 5, 6, 7]

    2. step을 활용한 슬라이싱

    슬라이싱에서 step을 지정하면 요소를 일정한 간격으로 선택할 수 있습니다.

    numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    even_numbers = numbers[0:10:2]
    print(even_numbers)  # [0, 2, 4, 6, 8]

    위 예제에서는 step을 2로 설정하여 짝수 인덱스에 있는 요소들만 선택했습니다.

    step이 음수인 경우에는 역순으로 슬라이싱할 수 있습니다.

    reverse_numbers = numbers[::-1]
    print(reverse_numbers)  # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

    이처럼 [::-1]을 사용하면 시퀀스를 뒤집을 수 있습니다.

     

    3. start와 stop 생략하기

    슬라이싱에서는 start, stop, step 중 일부를 생략할 수 있습니다.

    • start 생략: 시작부터 슬라이싱
    • stop 생략: 끝까지 슬라이싱
    • 둘 다 생략: 전체 슬라이싱
    numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    print(numbers[:5])  # [0, 1, 2, 3, 4]
    print(numbers[5:])  # [5, 6, 7, 8, 9]
    print(numbers[:])   # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

     

    4. 문자열 슬라이싱

    문자열도 시퀀스 자료형이므로 슬라이싱을 사용할 수 있습니다.

    text = "Hello, World!"
    hello = text[:5]
    world = text[7:12]
    print(hello)  # Hello
    print(world)  # World

    이처럼 문자열의 특정 부분을 쉽게 추출할 수 있습니다.

     

    5. 슬라이싱의 유용한 패턴들

     

    슬라이싱은 다양한 상황에서 유용하게 사용됩니다. 몇 가지 유용한 패턴을 살펴보겠습니다.

    리스트 복사: 슬라이싱을 사용하여 리스트의 얕은 복사를 만들 수 있습니다.

    original = [1, 2, 3, 4, 5]
    copy = original[:]
    print(copy)  # [1, 2, 3, 4, 5]

     

    리스트에서 특정 부분 제거: 슬라이싱을 이용해 특정 부분을 제외한 나머지 요소를 선택할 수 있습니다.

    numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    without_first_two = numbers[2:]
    print(without_first_two)  # [2, 3, 4, 5, 6, 7, 8, 9]

     

    문자열에서 특정 패턴 제거: 문자열 슬라이싱을 통해 특정 패턴을 쉽게 제거할 수 있습니다.

     

    text = "[INFO] System started"
    message = text[7:]
    print(message)  # System started

    6. 슬라이싱을 사용할 때 주의할 점

    슬라이싱을 사용할 때 인덱스가 범위를 벗어나더라도 오류가 발생하지 않고, 가능한 범위 내에서 결과를 반환합니다.

    numbers = [0, 1, 2, 3, 4, 5]
    print(numbers[2:10])  # [2, 3, 4, 5]

    위 예제에서는 stop이 리스트의 길이를 초과하더라도 가능한 요소만 반환합니다.


    파이썬의 슬라이싱은 시퀀스를 효율적으로 조작할 수 있는 강력한 도구입니다. 이를 잘 활용하면 데이터 처리 및 분석을 간편하게 수행할 수 있습니다. 슬라이싱의 기본적인 문법부터 고급 활용법까지 익혀두면 파이썬을 보다 효율적으로 사용할 수 있습니다.

     

    이 글이 파이썬 슬라이싱을 이해하는 데 도움이 되었길 바랍니다. 다른 파이썬 팁이나 특정 주제에 대한 설명이 필요하다면 언제든지 문의해주세요.

    반응형