1. 반복 구조의 정의
2. 리스트
3. 반복 구조의 확장
1. 반복 구조의 정의
(1) 반복 구조의 개념
- 특정 영역의 명령문을 여러 번 실행하는 구조를 의미한다.
- 반복 횟수를 조건에 따라 결정
- loop, iterate, repeat 용어가 혼용 ( 다 똑같음 )
(2) 반복 구조의 구문형식
[1] while 문
- 구문형식 : 조건 제어 반복
- 반복 조건이 참일 동안 계속할 때 즉, 횟수는 모르고 거기까지만 돌릴때 사용
- 반복 조건이 True일 동안 반복, False가 될 경우 종료
i = 0
while i < 5:
print(i)
i += 1
[2] for 문
- 구문형식 : 계수 제어 반복
- 반복 횟수가 정해져 있을 때 사용
- 정해진 시퀀스 만큼 반복을 돌리면 종료
for i in range(5): # 코드블럭 5번 반복
print(i)
2. 리스트
(1) 리스트의 개념
- 순서화된 값의 집합체를 저장할 수 있는 데이터 타입을 의미한다. ( 배열이라고 생각하면 된다. )
- 단일 식별자로 연속된 저장 공간 접근 수단 제공
- 개별 원소의 값을 수정, 추가, 삭제 가능
- 원소(element)의 나열을 저장할 수 있는 시퀀스 타입 중 하나
- 값들을 담아놓을 수 있는 데이터타입은 리스트, 세트, 투플, 딕셔너리 등 다양하게 존재함.
(2) 리스트의 구성
- 원소들의 순서를 표현
(3) 리스트의 생성
- 구문형식 list([ 원소 시퀀스])
- list 함수를 호출하면서 인자값으로 [] 배열을 만들어 내부에 값을 넣어주면 된다.
arr = [1, 2, 3, 4, 5, 6, 7, 8]
arr2 = list([1, 2, 3, 4, 5])
for i in arr:
print(i, end=" ")
print() # 구분선
for i in arr2:
print(i, end=" ")
- 파이썬에서 리스트는 두 가지 방법을 이용하여 생성을 할 수 있다. ( 예시 코드를 보면 알 수 있다. )
[1] 리스트 리터럴 방식
arr = [1, 2, 3, 4, 5, 6, 7, 8]
print(type(arr)) # <class 'list'>
- 리스트 리터럴 방식은 값을 바로 나열하는 간단한 방법임.
- 매우 직관적이고 자주 사용 됨.
- 데이터 타입이 list
[2] 리스트 함수 호출 방식
arr = list([1, 2, 3, 4, 5])
print(type(arr)) # <class 'list'>
- 리스트 함수 호출 방식은 리스트를 함수에 넣어 또 다시 리스트로 감싸는 방식임.
- 보통 리스트를 만들 때 사용하기 보다는 다른 자료구조 형태의 튜플 이런것들을 list로 만들 때 사용이 됨.
[3] 정리
- 두 가지 방식 다 결론은 타입이 list를 반환하고 있음. 결국 list 타입이라는 거임.
- 대신 데이터를 변환할 땐 리스트 함수, 리스트를 만들 땐 리터럴 방식이 유리함.
(4) 인덱스 연산자
- 시퀀스 타입의 원소에 접근하는 연산자
- 원소에 부여된 인덱스 번호로 지칭
- 인덱스 번호는 0부터 시작을 하는게 특징이다.
- [ ] 대괄호 안에 인덱스 0~n까지의 값을 넣어 해당 인덱스의 값을 알 수 있다.
arr = [1, 2, 3, 4, 5, 6, 7, 8]
print(arr[0]) # arr의 0번째 인덱스 값인 1출력
(5) 리스트 생성 자동화
- 리스트 내 원소에 규칙성이 있는 경우 생성 자동화를 위해 함수 사용 가능
- range(a, b, k) : a부터 b보다 작은 값까지 k씩 증가시켜 시퀀스를 생성해준다.
- 참고로 k의 값은 디폴트가 "1" 로 1씩 증가한다는 의미를 갖는다.
for i in range(0, 10, 1):
print(i) # 결과 0 ~ 9 까지의 숫자 출력
3. 반복 구조의 확장
(1) 중첩 반복 구조
- 반복 구조 내 다른 반복구조를 내포한 형식
# 구구단 2단부터 4단까지 출력하는 예시
for dan in range(2, 5): # 2, 3, 4단
for i in range(1, 10): # 각 단의 1~9까지
print(f"{dan} x {i} = {dan * i}")
print() # 각 단 끝나고 줄바꿈
(2) format 함수
- 데이터를 양식에 맞춰 형식화 ex) format("구구단표", ">10s")
- 형식 지정자 : > - 정렬방향(오른쪽) , 10(필드 폭), s(데이터 타입 : s는 문자열, d는 정수)
[1] format 함수의 사용
4. 정리
- 조건 제어 반복: 참과 거짓 조건에 의해 반복 여부가 결정되는 반복 구조
- 계수 제어 반복: 특정 계수만큼 반복 횟수가 정해진 반복 구조
- 인덱스 연산자: 시퀀스 타입의 원소에 접근하는 연산자
- 중첩 반복 구조: 반복 구조 내 다른 반복 구조를 내포한 형식
- 반복 구조란 동일한 명령문에 대해서 사용자가 지정한 횟수만큼 또는 조건을 만족하는 동안 동일한 코드를 반복하여 수행할 때 사용하는 구조이다.
- whlie 문은 조건이 참(True)인 동안 while 문 블럭 내부의 명령문을 수행하며 조건이 거짓(False)이 될 때 while문을 빠져나오는 조건 제어 반복 구조이다.
- 리스트는 순서화된 값의 집합체를 저장할 수 있는 시퀀스 데이터 타입의 일종이다.
- for 문은 리스트 등과 같은 시퀀스의 첫 번째 요소부터 마지막 요소까지 하나씩 변수에 대입하여 블럭의 명령문을 수행하며 마지막 요소까지 수행한 후 종료하는 계수 제어 반복이다.
- 중첩 반복 구조는 하나의 외부 반복 구조에 여러 개의 내부 반복 구조가 중첩되어 사용되는 구조를 말하며, 외부 반복 구조가 매 반복될 때마다 내부 반복 구조에 재진입하여 새롭게 실행된다
'⚡Python' 카테고리의 다른 글
[Python] 9강 - 함수 (0) | 2025.04.17 |
---|---|
[Python] 파이썬 인터프리터(Interperter) 쉽게 이해하기 (1) | 2025.04.17 |
[Python] 6강 - 선택 구조 (0) | 2025.04.16 |
[Python] 5강 - 순차 구조 및 제어 구조 (0) | 2025.04.15 |
[Python] 4강 - 파이썬 시작하기 (0) | 2025.04.14 |