- for-loop, while
- 반복문이 필요한 이유 : 같은 코드를 반복해서 입력하지 않고 효율적으로 코드 작성 가능
# 똑같은 코드 반복 > 불편
print("Hello Python")
print("Hello Python")
print("Hello Python")
print("Hello Python")
print("Hello Python")
print("Hello Python")
print("Hello Python")
print("Hello Python")
print("Hello Python")
print("Hello Python")
for i in range(10):
print("Hello Python")
# 두 식 모두 결과값은 같다
#Hello Python
#Hello Python
#Hello Python
#Hello Python
#Hello Python
#Hello Python
#Hello Python
#Hello Python
#Hello Python
#Hello Python
1. for-loop
- 특징 : 항상 반복문의 범위를 지정한다. (몇 번 반복문을 수행할 지 숫자로 컨트롤 가능)
- for 문의 구조
for <반복 변수> in <반복 범위>:
<코드 블럭>
- 예시
for i in range(3): # range(3) : 반복범위, i : for-loop에서 쓰는 지역변수(변경 가능)
print(f'{i}번째 Hello Python')
# 0번째 Hello Python
# 1번째 Hello Python
# 2번째 Hello Python
- 반복범위 지정 시, 시퀀스 자료형도 사용 가능
nums = [1,2,3,4,5]
for num in nums:
print(num)
#1
#2
#3
#4
#5
strings = "Hello"
for text in strings:
print(text)
# H
# e
# l
# l
# o
tuples = (1,2,3,4)
for num in tuples:
print(num)
# 1
# 2
# 3
# 4
- 중첩 For 문
* 형식
for <반복 변수1> in <반복 범위1>:
for <반복 변수2> in <반복 범위2>:
<코드블럭>
* 예시
x_list = ['x1', 'x2']
y_list = ['y1', 'y2']
for x in x_list:
for y in y_list:
print(x,y)
# x1 y1
# x1 y2
# x2 y1
# x2 y2
2. While
- 특징 : 조건문이 False가 될 때까지 반복문을 수행(조건문이 True면 반복문 무한 수행)
- 예시
# 초기값 지정
i = 1
n = 3
while i <= n: # 특정 조건문을 False가 되도록 코드를 작성하는 것이 포인트
print(f'현재 {i} 번')
i = i + 1
# 현재 1 번
# 현재 2 번
# 현재 3 번
3. break
- 반복문(for 문 또는 while 문) 안에서 break를 만나면 반복문이 강제 종료된다.
- 예시
i = 1
n = 3
while True:
print(f'현재 {i} 번')
if i >= 5:
break
i = i + 1
# 현재 1 번
# 현재 2 번
# 현재 3 번
# 현재 4 번
# 현재 5 번
* for-loop를 이용해서 문자열을 반복하다가 종료시키는 예시
# text가 t가 되면 break
texts = 'Python'
for text in texts:
print(text)
if text == 't': # 조건식을 숫자로 비교, 문자 매칭 여부에 따라서 True/False
print("text는 t입니다.")
break
# P
# y
# t
# text는 t입니다.
4. 리스트 컴프리헨션
- for-loop 및 for-loop if 조건문을 한 줄로 처리할 수 있다.
- 잘 이용하면 리스트, 세트, 딕셔너리 데이터를 반복해서 처리해야 할 때 코드를 한 줄로 작성할 수 있어서 편리하다.
- 기본 구조
[<반복 실행문> for <반복 변수> in <반복 범위>]
[<반복 실행문> for <반복 변수> in <반복 범위> if <조건문>]
- 예시
1) 기본 리스트 컴프리헨션
numbers = [1,2,3,4,5]
result = []
for i in numbers:
result.append(i ** 2)
result
# [1, 4, 9, 16, 25]
리스트 컴프리헨션을 이용하면 위 코드보다 간단한 코드를 작성할 수 있다.
numbers = [1,2,3,4,5]
result2 = [i ** 2 for i in numbers]
result2
# [1, 4, 9, 16, 25]
2) 조건문 리스트 컴프리헨션
numbers = [1,2,3,4,5]
result = []
for i in numbers:
if i >= 3:
result.append(i ** 2)
result
# [9, 16, 25]
위 코드를 조건문 포함 리스트 컴프리헨션을 이용해 다시 작성하면 이렇다.
numbers = [1,2,3,4,5]
result2 = [i ** 2 for i in numbers if i >= 3]
result2
# [9, 16, 25]
'Python' 카테고리의 다른 글
pandas 간단 정리 (1) | 2024.01.06 |
---|---|
Numpy 배열 생성 정리 (0) | 2024.01.06 |
딕셔너리 (0) | 2024.01.06 |
리스트 함수 메서드 정리 (0) | 2024.01.06 |
문자열 함수 메서드 정리 (1) | 2024.01.06 |