이 튜토리얼에서는 주어진 Python 리스트의 각 요소 뒤에 점점 늘어나는 패턴을 삽입하는 프로그램을 작성해 보겠습니다. 예제를 통해 개념을 명확하게 이해해 보세요.
문제 이해하기
예를 들어 알파벳으로 구성된 리스트가 있고, 각 알파벳 뒤에 해시(#) 문자를 하나씩 증가시키며 추가한다고 가정해 보겠습니다.
입력
alphabets = ['a', 'b', 'c']
출력
['a', '#', 'b', '##', 'c', '###']
위 결과에서 볼 수 있듯이 첫 번째 요소 뒤에는 해시 1개, 두 번째 요소 뒤에는 해시 2개, 세 번째 요소 뒤에는 해시 3개가 순서대로 추가됩니다.
문제 해결 단계
아래 단계를 따라 문제를 해결할 수 있습니다.
- 초기 리스트를 준비합니다.
- 결과를 저장할 빈 리스트를 생성합니다.
- 인덱스를 기준으로 초기 리스트를 반복(iterate)합니다.
- 현재 요소와 해당 인덱스에 맞는 개수만큼의 해시를 빈 리스트에 추가(append)합니다.
- 최종 결과 리스트를 출력합니다.
구현 예제
# 리스트 초기화
alphabets = ['a', 'b', 'c']
# 결과를 저장할 빈 리스트 생성
result = []
# 리스트를 인덱스 기준으로 반복
for i in range(len(alphabets)):
# 현재 요소 추가
result.append(alphabets[i])
# (i + 1)개 만큼의 해시 추가
result.append((i + 1) * '#')
# 결과 출력
print(result)실행 결과
위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
['a', '#', 'b', '##', 'c', '###']
코드 설명
이 코드의 핵심은 (i + 1) * '#' 부분입니다. Python에서는 문자열에 정수를 곱하면 해당 문자열이 그 횟수만큼 반복됩니다. 즉, 인덱스 i가 0일 때 '#' 1개, 1일 때 '##' 2개처럼 반복 횟수가 자연스럽게 증가합니다. 이러한 특성 덕분에 별도의 내부 반복문 없이 한 줄로 패턴을 생성할 수 있습니다.
마무리
지금까지 Python 리스트의 각 요소 뒤에 증가하는 패턴을 삽입하는 방법을 알아보았습니다. 문자열 반복 연산자(*)를 활용하면 간단하고 직관적으로 구현할 수 있습니다. 튜토리얼에 대해 궁금한 점이 있다면 댓글로 남겨주세요.