ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 32- 딕셔너리와 반복문
    study with Q - 파이썬 2024. 4. 9. 19:32

    #어떤 제품을 관리한다고 할때, 리스트를 사용하면

    pro = ["초콜릿이 통째로 칙촉", 500, "롯데제과", "과자", "2025.11.13" ]
    
    print (pro[3]) 
    >>> 과자 
    ....그런데 이게 뭐드라

    → 요소가 많아지게 되면 뭐가 어떤 값인지 헛갈림

     

    #딕셔너리

    ✓ 등장 배경

    키: 값이 무엇인지 나타내는 것

    값 : 값

    이렇게 딕셔너리를 만들어서 product라는 변수에 넣게 되면 제품의 요소에 접근할 때, 대괄호[]를 사용하고 내부에 키를 입력해서 접근 가능.
    그리고 나는 #키 : 값 뒤에 쉼표를 넣지 않아서 error 하나 떴음.

    product = {
      #키: 값
      "제품명": "초콜릿이 통째로 칙촉",
      "분류":"과자",
      "유효기간": "2025.11.23"
    }
    print(product["제품명"])
    >>> 초콜릿이 통째로 칙촉
    print(product["분류"])
    >>> 과자
    print(product["유효기간"])
    >>> 2025.11.23

    ‣ 몇번째 요소가 무엇인지 구분하기 더 편함

     

     사용방법

    • {} 사용
    • "키: 값" 쌍을 여러 개 입력 (쉼표로 연결)
    • 키 :숫자, 문자열, 불, 튜플(넌 뭐여) (정확하게는 immutable 자료를 키로 사용할 수 있다"인데, mutable, immutable 개념은 고급 개념이라... 몰러...)
    • 값: 모든 값 (숫자, 불, 문자열...)
    • 변수[키]로 입력해서 빼내온다
    • 연습
    더보기
    hong = {
      "이름": "홍창기",
      "연봉" : 51,
      "타율" : 0.346,
      "수상내역" : "2023, 골든 글러브 외야수상",
      "포지션" : "우익수",
      "한국시리즈 출전 경험" : True
    }
    
    print (hong["한국시리즈 출전 경험"]) 
    >>> True
    print (hong["타율"]) 
    >>> 0.346

    자주하는 실수

    • "키 : 값" 상의 쉼표를 입력하지 않는 경우 (예외로 쉼표 두 개 입력은 에러 안나지롱)
      ‣ SyntaxError: invalid syntax
    • 키를 식별자로 입력하는 경우
      ‣ NameError: name 'name' is not defined
    hong = {
      name: "홍창기",
      Salary : 51
    }

     

    #딕셔너리와 반복문

     반복문

    for 반복문 in 반복할 수 있는 것

       복합구문

    for key in product

    ※ 주의 : 반복 변수에 "키"가 들어간다!

     

    더보기
    hong = {
      "이름": "홍창기",
      "연봉" : 51,
      "타율" : 0.346,
      "수상내역" : "2023, 골든 글러브 외야수상",
      "포지션" : "우익수",
      "한국시리즈 출전 경험" : True
    }
    
    for key in hong:
      print(key)
      print(hong[key])
      print("~"*20)
      
     >>> 
    이름
    홍창기
    ~~~~~~~~~~~~~~~~~~~~
    연봉
    51
    ~~~~~~~~~~~~~~~~~~~~
    타율
    0.346
    ~~~~~~~~~~~~~~~~~~~~
    수상내역
    2023, 골든 글러브 외야수상
    ~~~~~~~~~~~~~~~~~~~~
    포지션
    우익수
    ~~~~~~~~~~~~~~~~~~~~
    한국시리즈 출전 경험
    True
    ~~~~~~~~~~~~~~~~~~~~

     중첩 반복문

    : 리스트와 딕셔너리가 중첩된 자료를 만들어보자!

    더보기
    outfielder = [{
      "이름": "홍창기",
      "연봉" : 51,
      "타율" : 0.346,
      "포지션" : "우익수"
    }, {
      "이름": "박해민",
      "연봉" : 60,
      "타율" : 0.271,
      "포지션" : "중견수"
    },{
      "이름": "문성주",
      "연봉" : 20,
      "타율" : 0.327,
      "포지션" : "좌익수"
    }]
    
    for product in outfielder:
      for key in product:
        print(key)
        print(product[key])
        print()
      print("-"*20)
    >>>
    이름
    홍창기
    
    연봉
    51
    
    타율
    0.346
    
    포지션
    우익수
    
    --------------------
    이름
    박해민
    
    연봉
    60
    
    타율
    0.271
    
    포지션
    중견수
    
    --------------------
    이름
    문성주
    
    연봉
    20
    
    타율
    0.327
    
    포지션
    좌익수
    --------------------

    ※ 주의 : print가 어디에 들어가느냐에 따라 결과가 다르게 나온다!

     


    흐름을 모르겠다면 파이썬 튜터를 이용해서 흐름을 꼭 확인해보자!

Designed by Tistory.