반응형
[ 파이썬 for문 활용법 ]
* 코드는 기본적으로 <입력값 # 출력값> 으로 구성되어 있습니다.
* 아래 [더보기] 클릭 후 [Ctrl + F] 단축키를 활용하여 찾고 계신 함수 위치로 바로 가실 수 있습니다.
더보기
기본형(1) : for in
기본형(2) : for in range
기본형(3) : 다중 for문
for 관련 함수 : continue, break
for 관련 함수 : else
리스트 내포
기본형(1) : for in
for 변수 in 객체:
실행문
- 여기서 객체는 일반적으로 문자열, 리스트, 튜플, 딕셔너리를 의미함
- 변수는 객체의 첫 인덱스에 해당하는 값부터 마지막 인덱스에 해당하는 값까지 차례대로 정의됨
- ex) for x in 'abc' 일 경우 x는 'a' 부터 시작하여 'b', 'c' 순으로 정의됨
- ex) for x in [1, 2, 3] 일 경우 x는 1 부터 시작하여 2, 3 순으로 정의됨
- ex) for x in {'one':1, 'two':2, 'three':3} 일 경우 x 는 'one' 부터 시작하여 'two', 'three' 순으로 정의됨
- ex) for [x, y,] in [[1, 2], [3, 4], [5, 6]] 일 경우 x, y는 각각 1, 2 부터 시작하여 3, 4 그리고 5, 6의 값으로 정의됨
for x in 'abe':
print(x)
# 출력값 : a / b / c
for x in [1, 2, 3]:
print(x)
# 출력값 : 1 / 2 / 3
for x in {'one':1, 'two':2, 'three':3}:
print(x)
# 출력값 : one / two / three
for [x, y] in [[1, 2], [3, 4], [5, 6]]:
print(x, y)
# 출력값 : 1 2 / 3 4 / 5 6
기본형(2) : for in range
for 변수 in range(시작값, 끝값, 증감크기):
실행문
- 변수가 (시작값) 부터 (끝값-1) 까지 (증감크기) 간격으로 증가하면서 실행문을 실행함
- for i in range(0, 10, 1) 라면 i 는 1 부터 9 까지 1 씩 증가하며, 실행문은 총 10번 실행됨
- for 변수 in range(값1) : range( ) 에 변수가 1개라면 끝값=값1 이 되고 시작값=0, 증감크기=1이 됨
- for 변수 in range(값1, 값2) : range( ) 에 변수가 2개라면 시작값=값1, 끝값=값2 가 되고 증감크기=1이 됨
- 증감크기를 생략하거나, 시작값과 증감크기를 함께 생략할 수 있음
for i in range(0, 10, 2):
print(i)
# 출력값 : 0 / 2 / 4 / 6 / 8
for i in range(0, 10):
print(i)
# 출력값 : 0 / 1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9
for i in range(10):
print(i)
# 출력값 : 0 / 1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9
기본형(3) : 다중 for문
- for문 내에 여러 for문을 포함시킬 수 있음
for i in range(2):
for j in range(2):
for k in range(2):
print(i, j, k)
# 출력값 : 0 0 0 / 0 0 1 / 0 1 0 / 0 1 1 / 1 0 0 / 1 0 1 / 1 1 0 / 1 1 1
for 관련 함수 : continue, break
- continue : continue 다음 실행문은 실행되지 않음
- break : for 문을 종료함
- 일반적으로 continue 는 for문의 특정 순간을 생략하며, break 는 for문의 남은 과정을 모두 취소함
for i in range(3):
if i == 1:
continue
print(i)
# 출력문 : 0 / 2
for i in range(10):
if i == 3:
break
print(i)
# 출력문 : 0 / 1 / 2
for 관련 함수 : else
- else : for문이 정상적으로 종료된 뒤 실행됨, break 로 인해 for문이 종료된 경우 실행되지 않음
for x in [1, 2, 3]:
print(x)
else:
print('끝')
# 출력값 : 1 / 2 / 3 / 끝
for x in [1, 2, 3]:
if x == 2:
break
print(x)
else:
print('끝')
# 출력값 : 1
리스트 내포
[표현식 for 변수1 in 객체1 if 조건문1
for 변수2 in 객체2 if 조건문2
......
for 변수n in 객체n if 조건문n]
- 위와 같이 for 변수 in 객체 if 조건문은 2개 이상으로 구성할 수도 있음
- if 조건문은 생략 가능함
a = 'abcde'
b = [val + 'k' for val in a]
print(b)
# 출력값 : ['ak', 'bk', 'ck', 'dk', 'ek']
a = [1, 2, 3, 4, 5]
b = [val * 5 for val in a]
print(b)
# 출력값 : [5, 10, 15, 20, 25]
a = 'abcde'
b = [val + 'k' for val in a if val == 'c']
print(b)
# 출력값 : ['ck']
a = [1, 2, 3, 4, 5]
b = [val * 5 for val in a if val < 3]
print(b)
# 출력값 : [5, 10]
a1 = [1, 2, 3]
a2 = [6, 7 ,8]
b = [val1 + val2 for val1 in a1 if val1 < 3
for val2 in a2 if val2 < 7]
print(b)
# 출력값 : [7, 8]
# (val1, val2) 순서는 (1,6), (1,7), (1,8), (2,6), (2,7), (2,8), (3,6), (3,7), (3,8) 이며,
# 각 조건문에 따라 (1,6)과 (2,6)만 채택됨
반응형
'개발 > Python' 카테고리의 다른 글
[파이썬, Python] print 정리 (0) | 2022.04.02 |
---|---|
[파이썬, Python] while문 활용법 총정리 (1) | 2022.04.02 |
[파이썬, Python] if문 활용법 총정리 (0) | 2022.03.23 |
[파이썬, Python] 딕셔너리 관련 함수 총정리 (0) | 2022.03.17 |
[파이썬, Python] 세트 관련 함수 총정리 (0) | 2022.03.15 |