ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [혼공파] 3주차 과제 - 반복문
    AI/혼공학습단10기_Python 2023. 7. 20. 23:58

    1. 주요내용 요약

     

    1) 리스트(list): 여러가지 자료를 저장할 수 있는 자료형
       .요소(element): 리스트 내부에 있는 각각의 내용

       .인덱스(index): 리스트 내부에서 값의 위치

       .for, while(반복문): 특정 코드를 반복해서 사용하는 기본 구문


    2) 딕셔너리(dictionary): 키를 기반으로 여러 자료를 저장하는 자료형

       .키(key): 딕셔너리 내부에서 값에 접근할 때 사용하는 것

       .값(value): 딕셔너리 내부에 있는 각각의 내용

     

    3) 범위(range): 정수의 범위를 나타내는 값. range()함수로 생성

       .break(키워드): 반복문을 벗어날 때 사용하는 구문

       .continue(키워드): 반복문의 현재 반복을 생략할 때 사용하는 구문

     

    4) enumerate(): 리스트를 매개변수로 넣을 경우 인덱스을 쌍으로 반복해 반복문을 돌릴 수 있게 해주는 함수

       .items(): 키와 쌍으로 사용해 반복문을 돌릴 수 있게 해주는 딕셔너리 함수

       .리스트 내포: 반복문과 조건문을 대괄호 안에 넣는 형태로 사용해서 리스트를 생성하는 파이썬의 특수 구문



    2. 리스트, 딕셔너리 그리고 범위 자료형

     

    1) 리스트
     - "목록"이라는 뜻 답게 여러 자료를 저장할 수 있는 자료 입니다.

     - 만약, array = [1, 2, "문자열", 100, 30]으로 리스트 선언 및 요소를 할당 하고, print(array)를 할 경우 결과는 [1, 2, "문자열", 100, 30] 이 됩니다.

     - 리스트는 숫자만으로 또는 문자열 만으로 구성될 수도 있지만 숫자와 문자열 등이 포함된 여러 자료형으로 구성된 리스트를 선언할 수도 있습니다.

     - 복수의 리스트들의 요소는 연산자 +(연결), *(반복)을 통해서 제어할 수 있고, 리스트 속에 포함된 요소들의 수를 알기 위해서는 len()함수를 사용합니다.

     - 리스트에 요소를 추가할 때는 append(), insert()함수를 사용합니다. 여기서 insert()는 list명.insert(인덱스 위치, 요소) 로서 어느 위치에 요소를 삽입할 지 결정할 수 있습니다.

     - 리스트 요소를 제거하는 방법은 i) 인덱스로 제거하기, ii) 값으로 제거하기 와 같이 두 가지 방법이 있습니다. 먼저 인덱스로 제거하는 방법으로는 del 리스트명[인덱스] 또는 리스트명.pop(인덱스)의 방법을 사용할 수 있습니다. 값으로 제거하는 방법은 리스트.remove(값)이 있습니다.

     - 만약 리스트 요소를 모두 제거하기 위해서는 리스트.clear()를 사용합니다.

     - for반복문은 

    for 반복자 in 반복할 수 있는 것:

        코드

    와 같은 형태로 기재하며, 여기서 반복할 수 있는 것으로는 문자열, 리스트, 딕셔너리, 범위 등이 있습니다.

     

    2) 딕셔너리

     - 리스트 vs 딕셔너리

    자료형 의미 가리키는 위치 선언형식
    리스트 index를 기반으로 값 저장 index list_a = [ ],
    사용 예: list_a[1]
    딕셔너리 key값을 기반으로 값 저장 key dict_a = { }
    사용 예: dict_a{"name"}

     - 딕셔너리 내부 값에는 문자열, 숫자, 불 등 다양한 자료를 넣을 수 있습니다.

     - 딕셔너리를 만들때는 key의 변수를 먼저 선언해 주어야 합니다. 

    예) name = "이름"

         dict_key = {name : "abc"}

     - 딕셔너리에 값을 추가할 때는 "딕셔너리[새로운 키] = 새로운 값" 의 형태로 입력해 주어야 합니다.

     - 딕셔너리 내부에 키가 있는 지 확인할 때에는 in을 사용하는데, if key in dictionary: print(dictionary[key]) 와 같이 입력합니다.

     

    3) 범위 자료형
     - for 반복문을 사용할 때 빈번하게 사용하는 것은 범위(range) 이며, a = range(5)와 같은 형태로 입력합니다.

     - for 반복문과 함께 사용되는 in의 형태는 "for 숫자변수 in 범위:" 입니다. 

     - list(range(10)) 을 입력 시, [0, 1, 2, 3, ..., 9]가 출력됩니다.

     - 리스트 또는 딕셔너리 내부 요소를 특정 횟수만큼 반복하는 경우 for 반복문을 사용하나, 불 표현식이 참인 동안 반복하는 형식은 while 반복문을 더 많이 사용합니다. while반복문은 while i < 10: 의 형태와 같이 사용합니다.

     

     


    3. 예제풀이

    - 문제 및 결과예측
    list_a = [0, 1, 2, 3, 4, 5, 6, 7] 일 때, 다음 함수 실행결과를 예측하라.

      1) list_a.extend(list_a)
    list_a = [0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7] —> extend()의 괄호안의 원소를 추가

      2) list_a.append(10)
    list_a = [0, 1, 2, 3, 4, 5, 6, 7, 10] —> 가장 마지막 요소로서 10을 추가

      3) list_a.insert(3, 0)
    list_a = [0, 1, 2, 0, 3, 4, 5, 6, 7] —> 인덱스 3의 위치에 쉼표 뒤의 숫자를 추가

      4) list_a.remove(3)
    list_a = [0, 1, 2, 4, 5, 6, 7] —> 단, remove()는 3이라는 값으로 제거한 것

      5) list_a.pop(3)
    list_a = [0, 1, 2, 4, 5, 6, 7] —> 단, pop()은 인덱스 번호에 해당되는 숫자를 제거한 것

      6) list_a.clear()
    list_a = [ ] or None —> 리스트안의 요소를 삭제


    - Code 실행 결과

     

     

     

    4. 이번주 혼공 소감

     

    뭐든지 꾸준하게 해야 실력이 늘을 수 있다 했던가요? 매번 조금 손대다 끊고..그러다 다시 급해지면 처음부터 "이게 뭐였지?" 하면서 하고..코딩은 제게 그랬습니다.

    일전에도 딥러닝이 핫해지며 막 시작해볼라 말라 하다...끊겼었는데.

    아주 처음부터라는 각오로 파이썬 다시 시작해 봅니다! 이번주 반복문과 자료형 구조는 코딩의 기본중의 기본이라고 생각하고 열심히 따라갔습니다. 다음주도 화이팅!

Designed by Tistory.