[Python] 7강 - 반복 구조

2025. 4. 17. 13:04·공부/⚡Python

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. 정리

  1. 조건 제어 반복: 참과 거짓 조건에 의해 반복 여부가 결정되는 반복 구조
  2. 계수 제어 반복: 특정 계수만큼 반복 횟수가 정해진 반복 구조
  3. 인덱스 연산자: 시퀀스 타입의 원소에 접근하는 연산자
  4. 중첩 반복 구조: 반복 구조 내 다른 반복 구조를 내포한 형식
  1. 반복 구조란 동일한 명령문에 대해서 사용자가 지정한 횟수만큼 또는 조건을 만족하는 동안 동일한 코드를 반복하여 수행할 때 사용하는 구조이다.
  2. whlie 문은 조건이 참(True)인 동안 while 문 블럭 내부의 명령문을 수행하며 조건이 거짓(False)이 될 때 while문을 빠져나오는 조건 제어 반복 구조이다.
  3. 리스트는 순서화된 값의 집합체를 저장할 수 있는 시퀀스 데이터 타입의 일종이다.
  4. for 문은 리스트 등과 같은 시퀀스의 첫 번째 요소부터 마지막 요소까지 하나씩 변수에 대입하여 블럭의 명령문을 수행하며 마지막 요소까지 수행한 후 종료하는 계수 제어 반복이다.
  5. 중첩 반복 구조는 하나의 외부 반복 구조에 여러 개의 내부 반복 구조가 중첩되어 사용되는 구조를 말하며, 외부 반복 구조가 매 반복될 때마다 내부 반복 구조에 재진입하여 새롭게 실행된다

'공부 > ⚡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
'공부/⚡Python' 카테고리의 다른 글
  • [Python] 9강 - 함수
  • [Python] 파이썬 인터프리터(Interperter) 쉽게 이해하기
  • [Python] 6강 - 선택 구조
  • [Python] 5강 - 순차 구조 및 제어 구조
junbin2
junbin2
java.lang.NullPointerException
  • junbin2
    bin's Development Diary
    junbin2
  • 전체
    오늘
    어제
    • 전체보기 (233)
      • 방송통신대학교 (87)
        • ⚙️컴퓨터의 이해 (11)
        • 💻컴퓨터과학 개론 (15)
        • 🔢자료구조 (14)
        • 🧬알고리즘 (10)
        • ⚙️운영체제 (14)
        • 🕸️이산수학 (11)
        • 🌍유비쿼터스 컴퓨팅 (11)
        • 🖥️컴퓨터과학과 (1)
      • 공부 (72)
        • 📚백엔드 공부 (6)
        • ☕Java (23)
        • 🌳Spring (13)
        • ⚙️C (12)
        • ⚡Python (15)
        • JavaScript (1)
        • 🛢️Database (0)
        • Algorithm Problem Solving (2)
      • 네트워크 (7)
        • 📜HTTP (7)
      • 스파르타코딩클럽 (64)
      • 정보 (2)
      • 정리가 필요한 글 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    알고리즘
    방송대
    이산수학
    컴퓨터과학과
    함수
    방통대
    방송통신대학교
    그래프
    spring
    Python
    배열
    유비쿼터스
    자바
    운영체제
    파이썬
    C언어
    컴퓨터과학 개론
    Java
    컴퓨터의 이해
    자료구조
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
junbin2
[Python] 7강 - 반복 구조
상단으로

티스토리툴바