본문 바로가기
Python/Python 개념

파이썬 반복문(for)

by hyun-am 2020. 3. 28.

For 문

 

For 반복문이란

 

리스트, 문자열 등 순회 가능한 객체를 순회하면서 값을 처리할 때 사용합니다.

 

예시 코드는 다음과 같습니다.

 

a = [1,2,3,4,5]
for i in a:
    print(i,i*2)

## 출력 값
# 1 2
# 2 4
# 4 8
# 3 6
# 5 10

 

여기서 i 는 매번 수행 될 때마다 a의 아이템으로 순차적으로 변경 됩니다.

모든 아이템이 순회되면 for 블록을 종료합니다.

 

for 문을 이용한 문자열의 아이템 출력하기

 

문자열의 경우 순회 가능, 리스트의 유사하게 순회 가능합니다.

예시 코드는 아래와 같습니다.

 

for x in 'computer science':
    print(x)

## 출력 값 
# c
# o
# m
# p
# u
# t
# e
# r
#  
# s
# c
# i
# e
# n
# c
# e

 

또한 응용을 해서 아래와 같이 구구단 5단을 출력할 수 있습니다.

a = '123456789'
for x in a:
    print(int(x)*5)

## 출력 값
# 5
# 10
# 15
# 20
# 25
# 30
# 35
# 40
# 45

 

for문을 이용해서 리스트의 아이템 출력하기

 

sample_list = [1,3,5,10,15,20]

for x in sample_list:
    if x%5==0:
        print(x/5)
    else:
        print(x*2)

## 출력 값 
# 2
# 6
# 1.0
# 2.0
# 3.0
# 4.0

 

for문을 이용해서 dict의 아이템 출력하기

 

먼저 dictionary의 경우 기본적으로 순회 하게 되면 key값을 참조합니다.

keys( )함수를 이용하여 key 값만 순회 가능

values( )함수를 이용하여 value 값만 순회 가능

items( )함수를 이용하여 tuple형태로 key, value 순회 가능

 

예시 코드는 아래와 같습니다.

 

key와 index를 이용한 추출

class_name = {
    0 : '자료구조',
    1 : '컴퓨터 공학',
    2 : '알고리즘',
    3 : 'python',
    4 : 'C++',
    5 : '경제학개론',
    6 : '법과 정치'
}
for key in class_name:
    print(key,class_name[key])

## 출력 값
# 0 자료구조
# 1 컴퓨터 공학
# 2 알고리즘
# 3 python
# 4 C++
# 5 경제학개론
# 6 법과 정치

 

key를 이용한 순회

for key in class_name:
    print(key)

## 출력 값
# 0
# 1
# 2
# 3 
# 4 
# 5 
# 6

 

values를 이용한 순회

for value in class_name.values():
    print(value)

## 출력 값
# 자료구조
# 컴퓨터 공학
# 알고리즘
# python
# C++
# 경제학개론
# 법과 정치

 

items를 이용한 순회

items를 리스트로 확인하면 값이 다음과 같다는 것을 확인할 수 있습니다.

list(class_name.items())

## 출력 값
# [(0, '자료구조'),
#  (1, '컴퓨터 공학'),
#  (2, '알고리즘'),
#  (3, 'python'),
#  (4, 'C++'),
#  (5, '경제학개론'),
#  (6, '법과 정치')]

 

이제 이것을 이용해서 for문에 입력하겠습니다.

for key, value in class_name.items():
    print('{}번째 과목은 {}입니다.'.format(key,value))

## 출력 값
# 0번째 과목은 자료구조입니다.
# 1번째 과목은 컴퓨터 공학입니다.
# 2번째 과목은 알고리즘입니다.
# 3번째 과목은 python입니다.
# 4번째 과목은 C++입니다.
# 5번째 과목은 경제학개론입니다.
# 6번째 과목은 법과 정치입니다.

 

for문에서 index 사용하기

 

기본적으로 for에 리스트를 순회하는 경우, 값만 추출합니다.

아래와 같은 코드로 인덱스와 값 모두 사용 가능합니다.(enumerate 함수 이용)

 

a = [1,2,3,4,5,6,7,8,9,10]
for index, value in enumerate(a):
    if value%2 ==0:
        print('{}번째 항목{}은 짝수입니다.'.format(index,value))
    else:
        print('{}번째 항목{}은 홀수입니다.'.format(index,value))

## 출력 값
# 0번째 항목1은 홀수입니다.
# 1번째 항목2은 짝수입니다.
# 2번째 항목3은 홀수입니다.
# 3번째 항목4은 짝수입니다.
# 4번째 항목5은 홀수입니다.
# 5번째 항목6은 짝수입니다.
# 6번째 항목7은 홀수입니다.
# 7번째 항목8은 짝수입니다.
# 8번째 항목9은 홀수입니다.
# 9번째 항목10은 짝수입니다.

 

break를 이용해서 for문 탈출하기

 

6보다 크면 for문을 탈출하는 예시 입니다.

 

a = list(range(0,10))
print(a)
for x in a:
    if x>6:
        break
    print(x)

## 출력 값
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 0
# 1
# 2
# 3
# 4
# 5
# 6

 

continue를 이용해서 해당 아이템을 건너 뛰기

 

continue를 이용해서 짝수 아이템은 건너 뛰고 홀수만 출력하기

 

for x in range(0,11):
    if x%2==0:
        continue
    print(x)

## 출력 값 
# 1
# 3
# 5
# 7
# 9

 

이중 for문을 이용해서 중첩 loop문 만들기

 

계단형식 삼각형을 만드는 별찍기를 예시로 들겠습니다.

 

for i in range(0,4):
    for j in range(0,i+1):
        print('*',end="")
    print()

## 출력 값
# *
# **
# ***
# ****

 

collection의 길이

 

len( )내장 함수를 이용해 길이를 계산할 수 있습니다.

내장 함수란 파이썬 내부에 구현되어 있어서, import하지 않고도 사용 가능한 함수를 의미합니다.

abs, len, type, range 등이 있습니다.

 

먼저 리스트를 구하는 len( )의 예제를 보겠습니다.

 

a = [1,2,3,12,41,2,123,12,24,21,1244,21]
b = 'afdsljkdf klajsdflkajds'
print(len(a))
print(len(b))

## 출력 값
# 12
# 23

각각 길이가 12와 23인 것을 확인 할 수 있습니다.

 

다음은 위에서 사용한 range 함수를 설명하겠습니다.

 

range함수

 

리스트를 쉽게 만들 수 있는 내장함수 입니다.

주어진 값에 따라 다양한 결과를 반환합니다.

 

print(list(range(10)))
print(list(range(1,10)))
print(list(range(1,11,2)))

## 출력 값 
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
# [1, 3, 5, 7, 9]

 

'Python > Python 개념' 카테고리의 다른 글

파이썬 함수 - 기초  (0) 2020.03.29
파이썬 반복분(While)  (1) 2020.03.29
파이썬 조건문  (0) 2020.03.28
파이썬 Dictionary의 개념  (1) 2020.03.28
파이썬 List, Tuple의 개념  (0) 2020.03.28

댓글