반복문은 프로그래밍에서 필수적으로 사용되는 개념 중 하나입니다. 그중에서도 for문은 특정 범위 내에서 반복적인 작업을 수행할 때 매우 유용합니다. 이번 글에서는 for문의 기본 개념부터 range() 함수, 딕셔너리와 함께 사용하는 방법까지 자세히 알아보겠습니다.
1. for문이란?
- for문은 반복 가능한(iterable) 객체의 요소들을 하나씩 순회하면서 실행되는 반복문입니다. 보통 리스트, 튜플, 딕셔너리 등과 함께 사용되며, 특정 작업을 여러 번, 순차적으로 수행할 때 유용합니다.
for문 기본 문법:
for 변수 in 반복가능한 객체:
반복 수행할 코드
- 다음 예제는 리스트에 있는 값들을 하나씩 가져와 5를 더한 후, 새로운 리스트에 저장하는 코드입니다.
numbers = [90, 40, 50, 60, 25, 55]
new_numbers = []
for n in numbers:
new = n + 5
new_numbers.append(new)
print(new_numbers)
[출력 값]
[95, 45, 55, 65, 30, 60]
반응형
2. for문과 range() 함수
- range() 함수는 특정 범위의 숫자를 생성하는 함수입니다. 주로 for문과 함께 사용되어 반복 횟수를 지정할 때 활용됩니다.
- range(1, 5)라고 하면 1부터 4까지의 값이 나타나게 됩니다.
1) range(stop)
- range(n)을 사용하면 0부터 n-1까지의 정수를 생성합니다.
sum = 3
for n in range(5):
print(f'{sum}+{n}={sum + n}', end = " ")
[출력 값]
3+0=3 3+1=4 3+2=5 3+3=6 3+4=7
2) range(start, stop)
- range(start, stop)을 사용하면 start부터 stop-1까지의 정수를 생성합니다.
- 즉, range(1, 5)로 설정하여, 1이 시작 값이 되고 5가 멈추는 값이 됩니다. 이에 따라 1~4까지의 값이 입력되어 출력되는 것을 알 수 있습니다
sum = 3
for n in range(1, 5):
print(f'{sum}+{n}={sum + n}', end = " ")
[출력 값]
3 + 1 = 4 3 + 2 = 5 3 + 3 = 6 3 + 4 = 7
3) range(start, stop, step)
- range(start, stop, step)을 사용하면 start부터 stop-1까지 step 간격으로 증가하는 정수를 생성합니다.
- 즉, range(1, 10, 2)는 시작값을 1로, 멈추는 값을 10으로, 증가하는 값은 2로 설정한 것입니다. 이에 따라 1부터 9까지의 값에서 2씩 증가하여 출력되는 것을 확인할 수 있습니다.
sum = 3
for n in range(1, 10, 2):
print(f'{sum}+{n}={sum + n}', end = " ")
[출력 값]
3 + 1 = 4 3 + 3 = 6 3 + 5 = 8 3 + 7 = 10 3 + 9 = 12
3. for문과 딕셔너리(dict)
- for문은 리스트뿐 아니라 딕셔너리를 통해서도 출력 가능합니다.
1) for문과 딕셔너리
- 딕셔너리의 키를 하나씩 가져와 출력할 수 있습니다.
fruit_dict = {
'apple':'사과',
'banana': '바나나',
'mango':'망고',
'pineapple':'파인애플'
}
for fruits in fruit_dict:
print(f'{fruits}의 뜻: {fruit_dict[fruits]}')
[출력 값]
apple의 뜻: 사과
banana의 뜻: 바나나
mango의 뜻: 망고
pineapple의 뜻: 파인애플
2) for문과 딕셔너리 - 키(key), 값(value) 따로 불러오기
- 딕셔너리에서 .keys()와 .values()를 사용하여 키와 값을 각각 가져올 수 있습니다.
fruit_dict = {
'apple':'사과',
'banana': '바나나',
'mango':'망고',
'pineapple':'파인애플'
}
# 키(key) 불러오기
for k in fruit_dict.keys():
print(f'fruit_dict의 key: {k}')
# 값(value) 불러오기
for v in fruit_dict.values():
print(f'fruit_dict의 value: {v}')
3) for문과 딕셔너리 - items() 활용하기
- items()를 활용하여 원하는 부분을 불러올 수 있습니다.
- [특정 값 출력] student에 students_score 값을 담은 후, 원하는 값의 키를 불러와 출력하면 원하는 값이 출력됩니다.
- print()를 중간에 붙인 것은, end=' ' 함수가 다음 값에 영향을 미칠 것을 방지하기 위함입니다.
- [items()] s_item에 students_score의 데이터들 중 해당하는 인덱스의 데이터를 담은 후, items()를 통해 그 데이터의 키와 값을 다시 담습니다. 이후 출력하면, 다음과 같이 출력되는 것을 확인할 수 있습니다.
students_score = [
{'이름' :'JOHN', '국어' :95, '영어' :80, '수학' :90},
{'이름' :'ANGELA', '국어' :100, '영어' :95, '수학' :100},
{'이름' :'TOM', '국어' :65, '영어' :78, '수학': 70},
]
# 특정 값(value)만 출력하기
for student in students_score:
print(f'{student['이름']}', end=' ')
print()
# items() 활용하기
s_item = students_score[1]
for k, v in s_item.items():
print(f'{k}:{v}')
4. 예제(<파이썬으로 분석하는 데이터분석> 예제 참고)
ABC 쇼핑몰에 신규 주문 목록이 다음과 같이 생성되었습니다.
shopping_dict = {
'주문번호': 123,
'주문자':'김**',
'주소':'서울시 마포구 상암동',
'주문항목': ['김치', '바나나', '양파']
}
for문을 사용하여 shopping_dict를 출력해보세요.
더보기
shopping_dict = {
'주문번호': 123,
'주문자':'김**',
'주소':'서울시 마포구 상암동',
'주문항목': ['김치', '바나나', '양파']
}
for k, v in shopping_dict.items():
print(f'{k}:{v}')
1. 딕셔너리 메서드인 items를 활용하였습니다.
2. k, v변수에 shopping_dict의 키(key)와 값(value)을 모두 담아 출력하면 아래와 같이 나옵니다.
-- 출력 값 --
주문번호:123
주문자:김**
주소:서울시 마포구 상암동
주문항목:['김치', '바나나', '양파']
이번 글에서는 for문의 기본 개념부터 range() 함수, 딕셔너리와 함께 사용하는 방법까지 알아보았습니다. for문은 반복적인 작업을 처리하는 데 필수적인 개념이므로, 여러 가지 방법을 직접 연습해 보는 것이 좋습니다.
감사합니다:-)
'데이터 분석 > Python' 카테고리의 다른 글
pandas 기초 (1) : 데이터 프레임, pandas 패키지 불러오기, 데이터 불러오기, 데이터 확인 / 주피터 노트북 (0) | 2025.02.07 |
---|---|
파이썬 내장 함수 (1) : 리스트와 관련된 내장 함수 - sum, max, min, sorted, map, abs, len (0) | 2025.02.07 |
파이썬 반복문 (1) : while문 - break, continue, 무한루프 (0) | 2025.02.03 |
파이썬 조건문 : if문, if~else문, if~elif~else문 / 파이썬으로 가위바위보 하기 (0) | 2025.02.03 |
파이썬 연산자 : 비트 연산자 알기 쉽게 정리! (0) | 2025.01.30 |