
Python의 리스트(List)는 여러 개의 데이터를 저장할 수 있는 자료형으로, 반복문과 함께 활용하면 더욱 강력한 데이터 처리 기능을 구현할 수 있습니다.
이번 장에서는 리스트를 for 문으로 순회하는 다양한 방법과 효율적인 반복문 사용법을 심도 있게 다룹니다.
1. 리스트와 for 문 기본 개념
for 문을 활용하면 리스트의 각 요소를 순차적으로 접근하여 반복적으로 실행할 수 있습니다.
㉮ for 문을 이용한 리스트 순회
fruits = ["사과", "바나나", "체리"]
for fruit in fruits:
print(fruit)
출력결과
사과
바나나
체리
✅ 각 요소가 순서대로 출력됨.
2. 리스트의 인덱스를 활용한 반복문
㉮ range()를 사용한 인덱스 접근
fruits = ["사과", "바나나", "체리"]
for i in range(len(fruits)):
print(f"{i}번째 과일: {fruits[i]}")
출력결과
0번째 과일: 사과
1번째 과일: 바나나
2번째 과일: 체리
✅ 인덱스를 함께 출력하려면 range(len(리스트))를 사용.
㉯ enumerate() 를 활용한 인덱스와 값 동시 출력
enumerate()를 사용하면 인덱스와 요소를 동시에 가져올 수 있어 더욱 효율적입니다.
fruits = ["사과", "바나나", "체리"]
for index, fruit in enumerate(fruits):
print(f"{index}번째 과일: {fruit}")
출력결과
0번째 과일: 사과
1번째 과일: 바나나
2번째 과일: 체리
✅ enumerate()를 사용하면 for i in range(len(리스트))보다 코드가 간결해짐.
3. 리스트 필터링과 조건문 활용
리스트 순회 중 특정 조건을 만족하는 요소만 출력할 수도 있습니다.
㉮ 특정 조건을 만족하는 요소 출력
numbers = [10, 25, 30, 47, 50]
for num in numbers:
if num % 2 == 0: # 짝수만 출력
print(num)
출력결과
10
30
50
✅ if 문을 사용하여 특정 조건을 만족하는 요소만 선택 가능.
㉯ 리스트에서 특정 요소 찾기
names = ["철수", "영희", "민수", "지수"]
search_name = "민수"
for name in names:
if name == search_name:
print(f"{search_name}을(를) 찾았습니다!")
break # 찾으면 반복 종료
출력결과
민수를 찾았습니다!
✅ 반복문을 사용하여 리스트에서 특정 요소를 찾을 수 있음.
4. 중첩 for 문을 이용한 2차원 리스트 순서
리스트 내부에 또 다른 리스트가 있는 2차원 리스트(행렬)을 처리하려면 중첩 for 문을 사용해야 합니다.
㉮ 기본적인 2차원 리스트 순회
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
for row in matrix:
for value in row:
print(value, end=" ")
print() # 행 변경
출력결과
1 2 3
4 5 6
7 8 9
✅ 2차원 리스트를 순회할 때는 for 문을 중첩하여 사용.
㉯ enumerate()를 활용한 2차원 리스트 순회
for i, row in enumerate(matrix):
for j, value in enumerate(row):
print(f"({i},{j}) 위치: {value}")
출력결과
(0,0) 위치: 1
(0,1) 위치: 2
(0,2) 위치: 3
(1,0) 위치: 4
(1,1) 위치: 5
(1,2) 위치: 6
(2,0) 위치: 7
(2,1) 위치: 8
(2,2) 위치: 9
✅ 각 요소의 좌표와 함께 값을 출력할 수 있음.
5. zip()을 활용한 여러 리스트 동시 순회
두 개 이상의 리스트를 동시에 순회할 때는 zip()을 사용하면 편리합니다.
names = ["철수", "영희", "민수"]
scores = [85, 90, 78]
for name, score in zip(names, scores):
print(f"{name}의 점수: {score}")
출력결과
철수의 점수: 85
영희의 점수: 90
민수의 점수: 78
✅ 여러 개의 리스트를 동시에 순회할 때 유용함.
6. 리스트에서 중복 제거하며 순회
리스트에서 중복된 요소를 제거하고 순회하려면 set()을 사용할 수 있습니다.
numbers = [10, 20, 30, 10, 20, 40]
for num in set(numbers):
print(num)
출력결과
40
10
20
30
✅ set()을 사용하면 중복을 제거한 후 순회 가능.
7. 리스트를 정렬하며 순회
리스트를 정렬한 후 순회할 수도 있습니다.
numbers = [5, 2, 9, 1, 7]
for num in sorted(numbers): # 오름차순 정렬 후 순회
print(num)
출력결과
1
2
5
7
9
✅ sorted()를 사용하면 원본 리스트를 변경하지 않고 정렬된 상태로 순회 가능.
8. 요약
✅ 기본 리스트 순회
• for 변수 in 리스트: 형태로 순회 가능.
✅ 인덱스를 활용한 순회
• range(len(리스트)) 사용 가능.
• enumerate()를 사용하면 더욱 효율적.
✅ 조건문과 함께 사용
• 특정 조건을 만족하는 요소만 출력 가능.
• break를 사용하면 특정 요소를 찾고 반복 종료 가능.
✅ 다양한 리스트 처리 기법
• 2차원 리스트 순회: 중첩 for 문 사용.
• 여러 리스트 동시 순회: zip() 사용.
• 중복 제거 후 순회: set() 사용.
• 정렬 후 순회: sorted() 사용.
'코딩교육 > Python 초등교육에서 전문가까지' 카테고리의 다른 글
2단계 : 5. 리스트와 반복문 (실습:도서관리시스템) (1) | 2025.03.26 |
---|---|
2단계 : 5. 리스트와 반복문 (리스트 컴프리헨션의 소개 - 기본 활용법) (0) | 2025.03.25 |
2단계 : 5. 리스트와 반복문 (리스트와 관련된 주요 메서드 - append(), remove(), sort() 등) (0) | 2025.03.23 |
2단계 : 5. 리스트와 반복문 (리스트의 기본 개념과 생성) (0) | 2025.03.22 |
2단계 : 4. 함수 (실행 시간 측정, 데이터 처리 및 알고리즘 최적화) (0) | 2025.03.21 |