
반복문 (for문)
반복문(loop)은 어떠한 코드를 반복 처리를 하고 싶을때 사용할 수 있습니다.
for문은 주로 리스트, 딕셔너리, 튜플, range 같은 이터레이터(iterator) 객체에 사용됩니다.
for문의 기본 형태:
for 변수 in 이터레이터 (리스트, 딕셔너리 등):
코드
예제) 리스트 안에 요소 각각 출력하기
letters는 'a', 'b', 'c', 'd' 네 가지의 문자열을 가지고 있는 리스트입니다. for문을 통해 리스트 안에 있는 요소를 각각 출력해보겠습니다.
# 네 가지 요소가 저장된 리스트 'letters'
letters = ['a', 'b', 'c', 'd']
# 리스트에 print()코드를 반복적으로 적용하기
for x in letters:
print(x)
output:
a
b
c
d
자세히 살펴보기:
for x in letters:
처음에는 letters 리스트의 첫 번째 요소인 문자열 'a'를 x 변수로 선언을 하고 다음 문장인 print(x)에서 'a'값을 출력하게 됩니다.
그다음에는 letters 두 번째 요소인 'b'를 x 변수로 선언을 하고 출력, 세 번째 요소인 'c'를 출력하고 리스트의 마지막 아이템까지 출력을 합니다.
여기서 변수 이름은 x 대신 아무 문자열이 사용 가능하며 주로 문맥에 맞게 각 요소를 부르는데 알맞은 이름을 사용하면 좋습니다.
예를 들어 여러 가지 과일이 담긴 과일 리스트는 for fruit in fruit_list 이런 식으로 하면 읽기도 쉬운 코드가 됩니다 :)
range 사용
range 함수는 for문이랑 같이 자주 사용하며 연속된 숫자 범위(시퀀스)를 만들어 준다.
range(시작, 끝, step) 형식으로 입력 가능하다.
for x in range(5):
print(x)
시작과 step 파라미터는 옵션이라 숫자 5만 넣어주면 디폴트로 0에서 시작된다.
0
1
2
3
4
숫자 두 개를 넣어서 시작과 끝을 정해줄 수 있다.
for x in range(2, 5):
print(x)
2
3
4
for문과 range를 제가 제일 많이 쓰는 방식은 리스트의 길이가 매우 길 경우입니다.
range(len(리스트))를 사용하면 자동으로 0부터 리스트의 길이까지 숫자 범위를 만들어내 인덱스로 사용 가능합니다.
grades = [100, 56, 89, 75, 66, 35, 45, 88, 78, 99, 96, 12, 56, 78, 99, 66, 55, 88, 77, 66]
for idx in range(len(grades)):
print(idx, grades[idx])
실행결과:
0 100
1 56
2 89
3 75
4 66
5 35
6 45
7 88
8 78
9 99
10 96
11 12
12 56
13 78
14 99
15 66
16 55
17 88
18 77
19 66
for문 응용 1: 리스트 합, 평균
리스트 요소들의 합 구하기. total이라는 변수를 미리 0으로 지정해 준후 리스트 안에 요소를 순차적으로 더해주는 코드입니다.
num_list = [1, 3, 5, 7]
total = 0
for num in num_list:
total += num
print(total)
print('평균', total/len(num_list))
실행결과:
16
평균 4.0
for문 응용 2: 리스트 거꾸로
리스트 요소를 반대로 마지막에서 앞으로 진행하고 싶을 경우 파이썬 reverse() 함수를 사용해도 됩니다.
num_list = [1, 3, 5, 7]
for num in reversed(num_list):
print(num)
7
5
3
1
'ᐧ༚̮ᐧ Data Science | AI > Python' 카테고리의 다른 글
[파이썬] 모듈, 패키지, 라이브러리란? (0) | 2022.10.13 |
---|---|
[파이썬] 딕셔너리와 반복문/for (0) | 2022.10.07 |
[파이썬] 🥒피클 pickle - 파일 저장하기, 불러오기 (1) | 2022.10.05 |
[파이썬] 데이터프레임 특정 조건에 맞는 값 추출하기 (0) | 2022.08.22 |
[파이썬] 그래프 크기 설정하기 (figsize) (0) | 2022.08.17 |