문자열 리스트에서 특정 범위에 해당하는 문자들만 추출해야 할 때는 리스트 컴프리헨션(list comprehension)과 리스트 슬라이싱(slicing)을 함께 사용하면 매우 간단하게 해결할 수 있습니다.
리스트의 모든 요소를 하나의 문자열로 연결한 뒤, 원하는 인덱스 범위만큼 잘라내어 새로운 문자열을 만드는 방식입니다.
예제 코드
아래는 문자열 리스트에서 주어진 범위의 문자를 추출하는 파이썬 프로그램 예제입니다.
my_list = ["python", "is", "fun", "to", "learn"]
print("The list is :")
print(my_list)
start, end = 11, 25
my_result = ''.join([element for element in my_list])[start : end]
print("The result is :")
print(my_result)실행 결과
The list is : ['python', 'is', 'fun', 'to', 'learn'] The result is : tolearn
코드 설명
먼저 문자열 리스트를 정의하고 콘솔에 출력합니다.
추출할 범위를 나타내는 시작(start)과 끝(end) 인덱스 값을 정의합니다. 여기서는 11과 25로 설정했습니다.
리스트 컴프리헨션을 사용해 리스트의 모든 요소를 순회하고,
join메서드로 요소들을 공백 없이 하나의 문자열로 합칩니다. 이 예제에서는"pythonisfuntolearn"이라는 문자열이 만들어집니다.그다음
[start:end]슬라이싱을 적용해 인덱스 11부터 24까지의 문자만 추출합니다. 단, 슬라이싱에서 끝 인덱스는 결과에 포함되지 않습니다.추출된 결과인
"tolearn"은 변수에 저장된 뒤 콘솔에 출력됩니다.
이처럼 문자열 연결과 슬라이싱을 조합하면 복잡한 반복문 없이도 한 줄의 코드로 원하는 범위의 문자열을 손쉽게 얻을 수 있습니다.