Python에서 반복문(loop)은 리스트나 컬렉션을 다룰 때 매우 유용하게 사용된다.
이번 실습에서는 for문, while문, list comprehension을 활용하여 리스트를 생성하고 조작하는 다양한 방법을 살펴보았다.
1. 숫자 리스트 생성
먼저, range() 함수를 사용하여 0부터 9까지의 숫자를 포함하는 리스트를 생성했다.
single_digits = list(range(10))
print(single_digits)
- range(n): 0부터 n-1까지의 정수 시퀀스를 생성한다.
- list(range(n)): 생성된 range 객체를 리스트로 변환한다.
출력 결과:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2. for문을 사용한 리스트 요소 반복
Python의 for문을 활용하여 single_digits 리스트의 각 숫자의 제곱 값을 squares 리스트에 추가했다.
squares = []
for digit in single_digits:
squares.append(digit**2)
print(squares)
- for 변수 in 리스트: → 리스트의 각 요소를 순회하며 반복 실행한다.
- digit**2 → 리스트의 요소를 제곱하여 squares 리스트에 추가한다.
출력 결과:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
3. while문을 사용한 리스트 반복
Python의 while문을 활용하여 같은 작업을 수행하는 또 다른 방법을 살펴보자.
squares = []
index = 0
while index < len(single_digits):
squares.append(index**2)
index += 1
print(squares)
- while 조건: → 조건이 참(True)인 동안 반복 실행된다.
- len(single_digits): 리스트의 길이를 확인하여 반복 범위를 설정한다.
- index += 1: 반복문이 끝없이 실행되지 않도록 인덱스를 증가시킨다.
출력 결과:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
이전 for문을 사용한 방식과 동일한 결과를 얻을 수 있다.
4. 리스트 컴프리헨션(List Comprehension)
Python에서는 리스트를 더욱 간결하게 생성하는 문법인 리스트 컴프리헨션을 사용할 수 있다.
cubes = [digit**3 for digit in single_digits]
print(cubes)
- [연산 for 변수 in 리스트] → 리스트의 각 요소에 대해 연산을 적용하여 새로운 리스트 생성
- digit**3 → 리스트 요소를 세제곱(³)하여 새로운 리스트 생성
출력 결과:
[0, 1, 8, 27, 64, 125, 216, 343, 512, 729]
이 방식은 더 간결하고 직관적이며 실행 속도도 빠르다.
5. 조건을 포함한 리스트 컴프리헨션
리스트 컴프리헨션에는 if-else 조건문을 추가할 수도 있다.
예제에서는 짝수인 경우 세제곱, 홀수인 경우 원래 값을 유지하는 리스트를 생성했다.
even_num_cubes = [digit**3 if digit % 2 == 0 else digit for digit in single_digits]
print(even_num_cubes)
- digit % 2 == 0 → 숫자가 짝수인지 확인
- digit**3 if digit % 2 == 0 else digit
- 짝수라면 세제곱(³)
- 홀수라면 원래 값 유지
출력 결과:
[0, 1, 8, 3, 64, 5, 216, 7, 512, 9]
짝수는 세제곱(³), 홀수는 원래 값 그대로 유지됨을 확인할 수 있다.
6. 정리
✅ 이번 실습에서 사용한 주요 반복문 및 리스트 관련 함수
문법설명
range(n) | 0부터 n-1까지의 숫자 생성 |
list(range(n)) | range 객체를 리스트로 변환 |
for 변수 in 리스트: | 리스트 요소를 순회하는 for문 |
while 조건: | 조건이 참(True)인 동안 실행 |
list.append(value) | 리스트에 요소 추가 |
list[index] | 리스트의 특정 인덱스 값 가져오기 |
[연산 for 변수 in 리스트] | 리스트 컴프리헨션 (간결한 반복문) |
[연산 if 조건 else 연산 for 변수 in 리스트] | 조건을 포함한 리스트 컴프리헨션 |
'Python' 카테고리의 다른 글
파이썬 String 조작 실습 (0) | 2025.04.05 |
---|---|
파이썬으로 JSON API 데이터 추출 및 CSV 변환하기 (0) | 2025.04.05 |
파이썬 리스트 함수 실습 (0) | 2025.04.02 |
Map, Lambda, Filter in Python (0) | 2024.06.06 |
단어 맞추기 게임 (0) | 2024.05.29 |