반응형
Chapter 01. 자료구조
Chapter 04-006. 리스트와 for문(2) — for문의 다양한 기능 활용하기
주요 개념 요약
이 파트에서는 for문과 리스트를 조합해서 다양한 조건 처리, 조회, 필터링을 수행하는 방법을 다룬다.
핵심 내용은 다음과 같다:
🔹 1. 리스트 반복 조회
- 리스트 내부의 요소를 하나씩 순회하며 값을 출력하거나 비교할 수 있다.
🔹 2. 조건문(if)과 함께 사용
- for문과 if문을 결합해 특정 기준에 맞는 데이터만 출력할 수 있다.
- 예: 과락 점수(<60점)인 과목만 필터링하기
🔹 3. continue 사용
- 조건을 만족할 때 다음 반복으로 건너뛰는 기능
- 특정 조건 제외 후 나머지만 처리하고 싶을 때 유용하다.
🔹 4. 사용자 입력 기반 필터링 실습
- 사용자 입력으로 과목 점수를 받아 실패한 과목만 출력하는 프로그램 작성
🔹 5. 리스트 기반 최소값/최대값 찾기 (학급 학생 수 예제)
- 리스트를 돌면서 가장 작은 값, 가장 큰 값을 찾아 출력하는 문제
코드 예시
1) 과락 과목 출력하기 — 기본 for + if 사용
minScore = 60
scores = [
['국어', 58],
['영어', 77],
['수학', 89],
['과학', 99],
['국사', 50]
]
for item in scores:
if item[1] < minScore:
print('과락 과목: {}, 점수: {}'.format(item[0], item[1]))
출력:
과락 과목: 국어, 점수: 58
과락 과목: 국사, 점수: 50
2) 과락 출력 — continue 활용
minScore = 60
scores = [
['국어', 58],
['영어', 77],
['수학', 89],
['과학', 99],
['국사', 50]
]
for subject, score in scores:
if score >= minScore:
continue
print('과락 과목: {}, 점수: {}'.format(subject, score))
continue를 사용해 과락이 아닌 경우 건너뛰고 과락 과목만 출력한다.
3) 사용자 입력 기반 과락 체크 프로그램
minScore = 60
korScore = int(input('국어 점수: '))
engScore = int(input('영어 점수: '))
matScore = int(input('수학 점수: '))
sciScore = int(input('과학 점수: '))
hisScore = int(input('국사 점수: '))
scores = [
['국어', korScore],
['영어', engScore],
['수학', matScore],
['과학', sciScore],
['국사', hisScore]
]
for subject, score in scores:
if score < minScore:
print('과락 과목: {}, 점수: {}'.format(subject, score))
예시 출력:
국어 점수: 80
영어 점수: 59
수학 점수: 66
과학 점수: 70
국사 점수: 50
과락 과목: 영어, 점수: 59
과락 과목: 국사, 점수: 50
4) 학급별 학생 수 중 최솟값/최댓값 찾기
classes = [25, 18, 30, 22, 27]
min_val = classes[0]
max_val = classes[0]
for num in classes:
if num < min_val:
min_val = num
if num > max_val:
max_val = num
print("가장 학생 수가 적은 학급:", min_val)
print("가장 학생 수가 많은 학급:", max_val)
* 이 글은 제로베이스 데이터사이언스 파트타임 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.
💡 생각 정리
for문과 리스트를 결합하면 데이터 탐색, 필터링, 가공이 매우 쉬워진다.
특히 조건문과 함께 사용할 때 원하는 정보만 걸러내거나 제외시켜 작업 효율성을 높일 수 있음을 자연스럽게 느낄 수 있다.
또한 continue 같은 제어문은 프로그램 흐름을 더 정교하게 다듬는 데 중요한 도구다.
리스트를 반복하면서 입력 기반 데이터까지 연계하면 실제 서비스에서도 활용 가능한 유용한 구조가 된다.
🚀 적용점
- 시험 점수 분석 프로그램 만들기
- 쇼핑몰 주문 리스트에서 특정 조건(예: 미배송, 취소)만 필터링
- 데이터 전처리에서 결측값/이상값만 추출하기
- JSON 리스트를 받아 특정 key 기준으로 필터링
- 기초 알고리즘(최소/최대 찾기, 합계 계산) 실습
반응형
'데이터' 카테고리의 다른 글
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -05 (0) | 2025.12.01 |
|---|---|
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -04 (0) | 2025.11.30 |
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -02 (0) | 2025.11.28 |
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -01 (0) | 2025.11.27 |
| 제로베이스 데이터사이언스 스쿨 - Part 04. 기초 통계-19 (0) | 2025.11.26 |