파이썬의 split() 메서드는 문자열을 리스트로 분리하는 기능을 합니다. 분리된 리스트의 각 요소는 지정한 구분자(separator)를 기준으로 나뉘며, 구분자를 따로 지정하지 않으면 기본값인 공백(whitespace)이 사용됩니다. 가장 많이 쓰이는 구분자로는 공백과 쉼표(,)가 있습니다.
문자열 내용을 리스트로 나누는 작업은 파이썬에서 매우 흔하게 사용됩니다. 예를 들어, 레시피에 필요한 재료 목록이 담긴 문자열을 재료별로 나누어 리스트로 만들고 싶을 수 있습니다.
바로 이럴 때 파이썬 문자열 split() 메서드가 유용합니다. split() 메서드를 사용하면 지정한 구분자를 기준으로 문자열을 여러 개의 부분 문자열로 나누어 리스트로 변환할 수 있습니다.
이 글에서는 다양한 예제와 함께 파이썬 split() 함수의 기본 개념과 사용 방법을 자세히 살펴보겠습니다. 끝까지 읽고 나면 split() 함수를 능숙하게 활용할 수 있게 될 것입니다.
파이썬 문자열(String) 기본 이해
문자열은 문자들의 집합으로, 파이썬 프로그램에서 텍스트 데이터를 저장하고 조작할 수 있게 해줍니다. 문자열은 데이터를 순차적으로 저장하기 때문에 파이썬의 시퀀스(sequence) 타입 중 하나에 해당합니다.
다음은 파이썬에서 문자열을 선언하는 간단한 예제입니다:
example_string = "I am an example string!"
위 코드에서는 "I am an example string!"이라는 문자열을 example_string 변수에 할당했습니다.
파이썬은 문자열을 더 작은 단위로 나눌 수 있는 다양한 문자열 메서드를 제공합니다. 그중 split()은 문자열을 분리할 수 있게 해주는 대표적인 메서드입니다. 지금부터 이 메서드가 어떻게 동작하는지 알아보겠습니다.
파이썬 split() 메서드 문법
split() 메서드는 문자열을 리스트로 분리합니다. 문자열은 구분자를 기준으로 나뉘며, 기본 구분자는 공백입니다.
string_name.split(separator, maxsplit)
split()은 내장 함수이므로 별도의 라이브러리를 import하지 않아도 바로 사용할 수 있습니다. split() 메서드의 주요 구성 요소는 다음과 같습니다:
- separator: 문자열을 나눌 때 사용할 구분자입니다. 기본값은 공백 문자(스페이스, 줄바꿈 등)이며, 선택적으로 지정할 수 있습니다.
- maxsplit: 최대 분할 횟수를 지정합니다. 기본값은 -1로, 무제한으로 분할한다는 의미입니다. 이 역시 선택적 매개변수입니다.
파이썬의 split() 메서드는 문자열 뒤에 붙여서 호출합니다. 이는 대부분의 문자열 메서드에 공통적으로 적용되는 방식입니다. print() 함수처럼 분리하려는 문자열을 split()의 괄호 안에 넣는 것이 아니라, 문자열 객체에 직접 메서드를 호출하는 형태입니다.
split() 메서드는 분리된 결과를 담은 새로운 리스트를 반환합니다. 문자열은 불변(immutable) 객체이기 때문에 원본을 변경할 수 없으며, 따라서 split()을 호출해도 원본 문자열은 그대로 유지됩니다.
지금부터 몇 가지 예제를 통해 split() 함수가 실제로 어떻게 동작하는지 확인해 보겠습니다.
split() 실전 예제: 문자열 분리하기
초콜릿 칩 머핀 재료가 담긴 문자열이 있다고 가정해 보겠습니다. 각 재료는 쉼표(,)로 구분되어 있습니다. split() 메서드를 사용하면 이 문자열을 재료별 리스트로 손쉽게 나눌 수 있습니다.
ingredients = "2 eggs, 125ml Vegetable oil, 250ml Semi-skimmed milk, 250g golden caster sugar, 400g self-raising flour, 100g chocolate chips"
list_of_ingredients = ingredients.split(",")
print(list_of_ingredients)
위 코드를 실행하면 다음과 같은 결과가 출력됩니다:
['2 eggs', ' 125ml Vegetable oil', ' 250ml Semi-skimmed milk', ' 250g golden caster sugar', ' 400g self-raising flour', ' 100g chocolate chips']
먼저 ingredients 변수를 정의하고 재료 목록 문자열을 저장했습니다. 각 재료는 쉼표(,)로 구분되어 있습니다.
다음으로 split() 메서드에 구분자로 쉼표를 지정하여 ingredients 문자열을 분리했습니다. separator 매개변수에 ","를 전달함으로써 파이썬에게 쉼표를 기준으로 문자열을 나누라고 알려준 것입니다. 그리고 그 결과를 list_of_ingredients 변수에 할당했습니다.
마지막으로 list_of_ingredients 변수를 콘솔에 출력했습니다. 실행 결과를 보면 문자열이 여섯 개의 요소를 가진 리스트로 변환된 것을 확인할 수 있으며, 각 요소는 하나의 재료에 해당합니다.
구분자를 지정하지 않으면? (기본 공백 분리)
separator를 생략하면 split()은 연속된 모든 공백(스페이스, 탭, 줄바꿈)을 기준으로 문자열을 나눕니다.
sentence = "Python is fun" words = sentence.split() print(words)
출력 결과:
['Python', 'is', 'fun']
maxsplit으로 분할 횟수 제한하기
maxsplit 매개변수를 사용하면 문자열이 분할되는 횟수를 제한할 수 있습니다. 예를 들어, 앞의 세 가지 재료만 분리하고 나머지는 하나로 묶고 싶다면 다음과 같이 코드를 작성할 수 있습니다:
ingredients = "2 eggs, 125ml Vegetable oil, 250ml Semi-skimmed milk, 250g golden caster sugar, 400g self-raising flour, 100g chocolate chips"
list_of_ingredients = ingredients.split(",", 3)
print(list_of_ingredients)
실행 결과:
['2 eggs', ' 125ml Vegetable oil', ' 250ml Semi-skimmed milk', ' 250g golden caster sugar, 400g self-raising flour, 100g chocolate chips']
이번 코드에서는 maxsplit 매개변수 값으로 3을 지정했고, 구분자는 첫 번째 예제와 마찬가지로 쉼표를 사용했습니다.
maxsplit이 3으로 설정되면 문자열은 최대 세 번 분할되어 네 개의 요소를 가진 리스트가 됩니다. 처음 세 개의 요소는 개별 재료이고, 마지막 요소에는 원본 문자열의 나머지 부분 전체가 그대로 포함됩니다.
마무리
파이썬 문자열 split() 메서드를 사용하면 지정한 구분자를 기준으로 문자열을 리스트로 분리할 수 있습니다. 예를 들어 쉼표(,)뿐만 아니라 특정 문자나 공백을 기준으로도 문자열을 나눌 수 있습니다.
이 글에서는 파이썬 문자열의 기본 개념과 split() 메서드의 문법, 그리고 separator와 maxsplit 매개변수의 활용 방법까지 살펴보았습니다. 이제 여러분도 파이썬 전문가처럼 split() 메서드를 자유롭게 활용할 준비가 되었습니다!