Python

Python 반복문(Loop)과 리스트 실습

hyungminjeon 2025. 4. 3. 00:03

 

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