파이썬 슬라이스(Slice)의 모든것: 기초부터 심화까지의 설명과 예제

안녕하세요, 이번에는 파이썬 슬라이스에 대해 알아보겠습니다. 파이썬 슬라이스 함수는 시퀀스 자료형의 일부를 잘라내어 새로운 시퀀스를 만드는 기능입니다. 이 기능은 데이터를 다룰 때 매우 유용하므로 잘 알아두면 좋습니다. 이 글에서는 파이썬 슬라이스 함수의 기본 사용법과 응용 방법을 예제와 함께 설명하겠습니다.

파이썬 슬라이스

파이썬 슬라이스 기본 사용법

파이썬 슬라이스 함수의 기본 문법

시퀀스객체는 리스트, 튜플, 문자열 등의 시퀀스 자료형을 의미합니다. 시작인덱스는 슬라이싱을 시작할 위치를, 끝인덱스는 슬라이싱을 끝낼 위치를, 인덱스증가폭은 인덱스를 증가시키는 단위를 나타냅니다. 시작인덱스와 인덱스증가폭은 생략할 수 있으며, 기본값은 각각 0과 1입니다. 끝인덱스는 생략할 수 없으며, 실제로 가져오는 인덱스는 끝인덱스보다 1 작습니다.

예를 들어, 다음과 같이 리스트 a가 있습니다.

이 리스트에서 인덱스 0부터 3까지 슬라이싱하려면 아래와 같이 작성합니다.

이때, 끝인덱스는 4로 지정했지만 실제로 가져오는 인덱스는 0부터 시작해서 [0, 1, 2, 3], 3까지입니다.

만약 리스트의 처음부터 슬라이싱하려면 시작인덱스를 생략할 수 있습니다.

반대로 리스트의 끝까지 슬라이싱하려면 끝인덱스를 생략할 수 있습니다.

리스트 전체를 슬라이싱하려면 시작인덱스와 끝인덱스를 모두 생략할 수 있습니다.

인덱스는 음수도 사용할 수 있습니다. 음수 인덱스는 뒤에서부터 요소를 가리킵니다. 예를 들어, 인덱스 -1은 마지막 요소를, 인덱스 -2는 뒤에서 두 번째 요소를 의미합니다.

인덱스 증가폭을 지정하면 인덱스를 건너뛰면서 요소를 가져올 수 있습니다. 예를 들어, 인덱스 증가폭을 2로 지정하면 인덱스를 2씩 증가시키면서 요소를 가져옵니다.

인덱스 증가폭을 음수로 지정하면 인덱스를 감소시키면서 요소를 가져옵니다. 이때는 시작인덱스와 끝인덱스의 순서에 주의해야 합니다. 시작인덱스가 끝인덱스보다 크거나 같아야 합니다.

파이썬 슬라이스 응용

파이썬 슬라이스 함수는 시퀀스 자료형의 일부를 잘라내는 기능뿐만 아니라, 시퀀스 자료형의 값을 변경하거나 삭제하는 기능도 제공합니다. 이때는 슬라이싱한 결과에 새로운 값을 할당하거나, 빈 리스트를 할당하면 됩니다.

예를 들어, 다음과 같이 리스트 b가 있습니다.

이 리스트에서 인덱스 1부터 3까지의 값을 [10, 20, 30]으로 변경하려면 다음과 같이 작성합니다.

이때, 슬라이싱한 범위와 할당한 값의 길이가 다르면 리스트의 길이도 변합니다.

리스트에서 인덱스 1부터 3까지의 값을 삭제하려면 빈 리스트를 할당하면 됩니다.

리스트에 새로운 값을 삽입하려면 슬라이싱한 범위의 시작 인덱스와 끝 인덱스를 같게 하고, 새로운 값을 할당하면 됩니다.

파이썬 슬라이스 함수는 문자열에도 적용할 수 있습니다. 문자열은 변경할 수 없는 자료형이므로 슬라이싱한 결과에 새로운 값을 할당하거나 삭제할 수는 없지만, 슬라이싱을 통해 문자열의 일부를 추출할 수 있습니다.

예를 들어, 다음과 같이 문자열 c가 있습니다.

이 문자열에서 인덱스 0부터 4까지 슬라이싱하면 ‘Hello’를 얻을 수 있습니다.

파이썬 슬라이스 활용 예제

파이썬 슬라이스 함수는 다양한 상황에서 유용하게 사용할 수 있습니다. 여기서는 몇 가지 예제를 통해 파이썬 슬라이스 함수의 활용 방법을 알아보겠습니다.

예제 1: 리스트의 순서 뒤집기

리스트의 순서를 뒤집고 싶다면, 인덱스 증가폭을 -1로 지정하고 슬라이싱하면 됩니다.

예제 2: 문자열의 일부 변경하기

문자열은 변경할 수 없는 자료형이므로 슬라이싱한 결과에 새로운 값을 할당할 수 없습니다. 하지만 슬라이싱을 통해 문자열의 일부를 추출하고, 새로운 문자열과 연결하면 문자열의 일부를 변경하는 효과를 낼 수 있습니다.

예를 들어, 다음과 같이 문자열 e가 있습니다.

이 문자열에서 ‘world’를 ‘Python’으로 변경하려면 다음과 같이 작성합니다.

예제 3: 팰린드롬 판별하기

팰린드롬이란 앞으로 읽으나 뒤로 읽으나 같은 문자열을 의미합니다. 예를 들어, ‘madam’, ‘racecar’, ‘level’, ‘소주한병만주소’ 등이 팰린드롬입니다. 파이썬 슬라이스 함수를 이용하면 문자열이 팰린드롬인지 판별할 수 있습니다.

예를 들어, 다음과 같이 문자열 f가 있습니다.

이 문자열이 팰린드롬인지 판별하려면 다음과 같이 작성합니다.

문자열과 뒤집은 문자열이 같으면 True를, 다르면 False를 반환합니다.

이상으로 파이썬 슬라이스에 대해 알아보았습니다. 이 기능을 잘 활용하면 데이터를 다루는 데 많은 도움이 되고 복잡한 코드를 간단하게 바꿀 수 있습니다. 여기를 눌러서 다른 유용한 코딩 글도 한번씩 확인해주세요. 감사합니다.

Leave a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다