Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python에서 알파벳으로 리스트 초기화하는 4가지 방법

리스트를 다루다 보면 영어 알파벳 a부터 z까지로 리스트를 초기화해야 하는 경우가 종종 있습니다. 알파벳 인덱싱, 메뉴 구성, 데이터 라벨링 등 다양한 애플리케이션에서 유용하게 쓰이는 기본적인 유틸리티입니다. 이 글에서는 파이썬으로 알파벳 리스트를 생성하는 대표적인 네 가지 방법을 코드 예제와 함께 살펴봅니다.

1. 반복문을 이용한 기본 방법

가장 직관적인 방식은 ord()chr() 함수를 조합하는 것입니다. ord()는 문자에 해당하는 유니코드 코드 포인트를 반환하고, chr()는 코드 포인트를 다시 문자로 변환합니다. 이를 이용해 문자를 한 글자씩 증가시키며 리스트에 추가할 수 있습니다.

test_list = []
alpha = 'a'

for i in range(26):
    test_list.append(alpha)
    alpha = chr(ord(alpha) + 1)

print(test_list)

2. 리스트 컴프리헨션(List Comprehension)

파이썬다운 간결한 문법을 원한다면 리스트 컴프리헨션이 좋은 선택입니다. 한 줄로 알파벳 전체를 생성할 수 있어 가독성과 효율성이 뛰어납니다.

test_list = [chr(x) for x in range(ord('a'), ord('z') + 1)]

print(test_list)

3. map() 함수 활용

map() 함수를 사용하면 숫자 범위의 각 요소에 chr 함수를 일괄 적용할 수 있습니다. 아스키 코드에서 소문자 'a'는 97, 'z'는 123이므로 range(97, 123)을 사용합니다.

test_list = list(map(chr, range(97, 123)))

print(test_list)

4. string 모듈 활용 (가장 권장)

파이썬 표준 라이브러리인 string 모듈에는 이미 알파벳이 상수로 정의되어 있습니다. 별도의 변환 과정 없이 바로 리스트로 만들 수 있어 가장 깔끔하고 안전한 방법입니다.

import string

test_list = list(string.ascii_lowercase)

print(test_list)

참고로 대문자가 필요하다면 string.ascii_uppercase, 대소문자 전체가 필요하다면 string.ascii_letters를 사용하면 됩니다.

실행 결과

네 가지 방법 모두 동일한 결과를 출력합니다.

['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

정리

학습 목적이라면 반복문이나 리스트 컴프리헨션이 내부 동작을 이해하는 데 도움이 되고, 실무에서는 string.ascii_lowercase를 사용하는 것이 코드가 가장 짧고 의도도 명확하게 드러나므로 권장됩니다. 상황에 맞는 방법을 선택해 활용해 보세요.