본문 바로가기
Python/Python 기초

파이썬(Python) Loop 반복문 for

by healingmau 2022. 4. 25.

 

파이썬(Python) Loop 반복문 for

 

 

1. for 반복문

 

정해진 횟수만큼 반복할때 즉,

데이터 스트럭쳐에 들어있는 데이터를

하나씩 가져와서 무언가를 작업하고 싶을때

사용하면 유용합니다.

 

예를 들어 리스트에 저장된

데이터를 하나씩 화면에 출력할때,

 

print(my_list[0])

print(my_list[0])

print(my_list[0])

print(my_list[0])

print(my_list[0])

....

 

이렇게 작업을 할텐데요.

 

데이터가 적으면 상관없지만

100개, 1000개 이렇게 된다면

수작업으로 하기엔 너무 힘들겠죠?

 

이럴때 for 반복문을 사용하면

간단하고 편리합니다.

 


for data in my_list :

print(data)  

 

이렇게 단 두줄만으로~

수행할수 있어요.

작업이 아주 편리해 지겠죠?

 


 

2. for 반복문 구조

 


for 변수 in (리스트, 문자열, 튜플) :
반복 수행할 코드
...

 

for ~ 하는 동안

 

for 뒤에 있는 in 안에 들어있는

데이터스트럭쳐에서 데이터를

하나씩 꺼내고!

 

꺼낸 데이터는 for 오른쪽의

변수에 저장됩니다.

 


 

3.  for 반복문 예제

 

(1)

 

my_list = [11, 222, 30, 44] 

 

my_list 의 값을 잘못계산했다.

따라서, my_list의 값에서

5를 뺀 값을 출력하려한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# ------------------------------------------------------------------------ #
 
 
my_list = [112223044]   # my_list 변수에 리스트 저장
for data in my_list :         # 데이터 하나를 가져와 data 변수에 저장
    print( data - 5 )         # data에 저장된 값에서 5를 뺀 값을 출력
 
# --- 여기부터는 결과부분 (# 주석처리) ---
# 6
# 217
# 25
# 39
 
 
# ------------------------------------------------------------------------ #
cs

 

(2)

리스트 데이터를 for 반복문 처리

 

score_list = [76, 44, 98, 56, 77]

 

학생들의 수학점수가 score_list 에

저장되어 있습니다.
점수를 10점씩 뺀 값들을

new_score_list로 만드세요.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# ------------------------------------------------------------------------ #
 
score_list = [7644985677]  # 변수에 리스트 저장
new_score_list = []                # 10점씩 뺀 점수를 저장해줄 변수
 
for score in score_list :
    # print(score)                 # 맞는지 출력 확인후 주석처리
    new_score_list.append( score - 10 ) # .appand()로 리스트 저장
print(new_score_list)
 
 
# --- 여기부터는 결과부분 (# 주석처리) ---
# [66, 34, 88, 46, 67]
 
 
# ------------------------------------------------------------------------ #
cs

 

(3)

 

문자열 데이터를 For 반복문 처리

문자열을 루프돌면서 하나씩

화면에 출력할수 있다.

 

a.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# ------------------------------------------------------------------------ #
 
 
sentence = 'Hello World~' # 변수에 문자열 저장
for letter in sentence :  # 문자열을 루프돌면서 하나씩 화면에 출력
    print(letter + '!!!')
 
 
# --- 여기부터는 결과부분 (# 주석처리) ---
# H!!!
# e!!!
# l!!!
# l!!!
# o!!!
#  !!!
# W!!!
# o!!!
# r!!!
# l!!!
# d!!!
# ~!!!
 
 
# ------------------------------------------------------------------------ #
cs

 

출력된 문자에+ '!!!' 로 느낌표를 붙여줬는데~

요런걸 데이터의 가공이라고 합니다.

 

b. 

fruits = ['사과', '배', '망고', '바나나', '수박']

 

리스트의 데이터를 전부 출력하세요

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# ------------------------------------------------------------------------ #
 
 
fruits = ['사과''배''망고''바나나''수박'# fruits 변수에 리스트 저장
for fruit in fruits :
    print(fruit)
 
 
# --- 여기부터는 결과부분 (# 주석처리) ---
# 사과
# 배
# 망고
# 바나나
# 수박
 
 
# ------------------------------------------------------------------------ #
cs

 

c.

fruits_eng = ['apple', 'mango', 'banaana', 'guava']

 

리스트의 데이터를 전부 대문자로 바꾼

fruits_upper 리스트를 만드세요.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# ------------------------------------------------------------------------ #
 
 
fruits_eng = ['apple''mango''banaana''guava'# 변수에 리스트 저장
fruits_upper = [] # 대문자로 바꾼 리스트를 저장할 빈 리스트 생성
 
for fruits in fruits_eng :
     # print(fruits)          # 확인 후 '주석' 처리
     # print(fruits.upper())  # upper() 함수로 대문자로 바꾸고 확인
    fruits_upper.append(fruits.upper())
print(fruits_upper)    
 
 
# --- 여기부터는 결과부분 (# 주석처리) ---
# ['APPLE', 'MANGO', 'BANAANA', 'GUAVA']
 
 
# ------------------------------------------------------------------------ #
cs

 

d. 

 

리스트의 인덱스값과 매칭되어

저장되어 있는 값을 함께 출력

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# ------------------------------------------------------------------------ #
 
fruits = ['사과''배''망고''바나나''수박']
for index, data  in enumerate(fruits) :
    print(index, data)
 
 
# --- 여기부터는 결과부분 (# 주석처리) ---
# 0 사과
# 1 배
# 2 망고
# 3 바나나
# 4 수박
 
 
# ------------------------------------------------------------------------ #
cs

 

여기서 잠깐!

 

enumerate() 함수

 

enumerate는 '열거하다'라는

뜻을 가지고 있는데요.

 

list, dictionary, tuple, string

여러가지 자료형이 있는 경우

인덱스 값을 포함하는

enumerate 객체를 리턴합니다.

 

 for 반복문과 자주 사용됩니다.

 

 

(5)

딕셔너리 데이터를 For 반복문

기본적으로는 key 값을 가져옵니다.

 

a.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# ------------------------------------------------------------------------ #
 
 
my_phone = {'bland':'apple','model':'iPhone','color':'red','year'2021}
for data in my_phone :       # 딕셔너리 데이터를 for 반복문으로 루푸를 돌리면
    print(data)              # key 값만 가져온다.
 
 
 
# bland model
# color
# year
 
 
# ------------------------------------------------------------------------ #
cs

 

b.

딕셔너리 데이터의 밸류값 출력

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# ------------------------------------------------------------------------ #
 
 
my_phone = {'bland':'apple','model':'iPhone','color':'red','year'2021}
for data in my_phone.values() : # 딕셔너리 데이터의 밸류값 출력 .values()
    print( data )
 
 
# --- 여기부터는 결과부분 (# 주석처리) ---
# apple
# iPhone
# red
# 2021
 
 
# ------------------------------------------------------------------------ #
cs

 

c.

딕셔너리에서 키와 밸류를

튜플로 프린트

(키와 밸류를 아이템 item 이라고 함)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# ------------------------------------------------------------------------ #
 
 
my_phone = {'bland':'apple','model':'iPhone','color':'red','year'2021}
for item in my_phone.items() :    # 딕셔너리에서 키와 밸류를 같이 가져올때
    print(item)
 
 
# --- 여기부터는 결과부분 (# 주석처리) ---
# ('bland ', 'apple')
# ('model', 'iPhone')
# ('color', 'red')
# ('year', 2021)
 
 
# ------------------------------------------------------------------------ #
cs

 

d.

딕셔너리에서 키와 밸류를 가져와서

각각 원하는 처리를 할수 있음

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# ------------------------------------------------------------------------ #
 
 
my_phone = {'bland':'apple','model':'iPhone','color':'red','year'2021}
for key, value in my_phone.items() :  # in 앞에 변수는 두개도 가능하다~
    print(key, value)
 
 
# --- 여기부터는 결과부분 (# 주석처리) ---
# bland  apple
# model iPhone
# color red
# year 2021
 
 
# ------------------------------------------------------------------------ #
cs

 

힐링아무의 코딩일기 힐코딩!!

댓글