데이터 처리 작업을 하다 보면 문자열의 모든 글자를 하나의 대소문자 형태로 통일해야 하는 경우가 자주 발생합니다. 이번 글에서는 대소문자가 섞여 있는 문자열 요소로 구성된 리스트가 있을 때, Python의 내장 함수를 활용하여 모든 요소를 소문자 또는 대문자로 한 번에 변환하는 방법을 살펴보겠습니다.
1. lower() 함수로 전체 소문자 변환
lower()는 문자열 전체를 소문자로 바꿔주는 문자열 메서드입니다. 여기에 lambda와 map()을 함께 사용하면 리스트의 각 요소에 lower 함수를 반복적으로 적용할 수 있습니다.
예제 코드
listA = ['MoN', 'TuE', 'FRI']
# 주어진 리스트
print("Given list : \n", listA)
res = list(map(lambda x: x.lower(), listA))
# 결과 출력
print("New all lowercase list: \n", res)실행 결과
Given list : ['MoN', 'TuE', 'FRI'] New all lowercase list: ['mon', 'tue', 'fri']
2. upper() 함수로 전체 대문자 변환
이 방법에서는 리스트 컴프리헨션(for 루프)을 이용해 리스트의 각 요소에 직접 upper()를 적용합니다. 그 결과 모든 문자열이 대문자로 변환됩니다. map()과 lambda를 쓰는 첫 번째 방법보다 코드가 더 간결하고 가독성이 좋다는 장점이 있습니다.
예제 코드
listA = ['MoN', 'TuE', 'FRI']
# 주어진 리스트
print("Given list : \n", listA)
res = [x.upper() for x in listA]
# 결과 출력
print("New all uppercase list: \n", res)실행 결과
Given list : ['MoN', 'TuE', 'FRI'] New all uppercase list: ['MON', 'TUE', 'FRI']
정리
대소문자가 혼합된 문자열 리스트를 다룰 때는 lower()로 소문자 통일, upper()로 대문자 통일을 할 수 있으며, map()+lambda 조합이나 리스트 컴프리헨션 중 상황에 맞는 방식을 선택하면 됩니다. 특히 데이터 정규화나 문자열 비교 작업 전에 이러한 변환을 활용하면 오류를 줄이고 코드의 안정성을 높일 수 있습니다.