ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python 딕셔너리(dictionary)
    ML&DL&AI/Python 2023. 6. 13. 15:50
    728x90

    1. 딕셔너리(dictionary)

    • dictionary는 단어 그대로 해석하면 사전이라는 뜻
    • "people"이라는 단어는 "사람", "baseball"이라는 단어는 "야구"에 부합되듯이 dictionary는 Key와 Value를 한쌍으로 갖는 자료형
    • 딕셔너리 타입은 immutable한 key와 mutable한 value로 맵핑(짝꿍)되어 있는 순서가 없는 집합
    • 4명의 사람이 있고 각각의 특기를 표현하기 위해서 리스트나 문자열로 표현하기 어려움 > 딕셔너리 사용
    딕셔너리명 = {key : Value, key : Value, ...}

    Key에는 변하지 않는 값을 사용하고, Value에는 변하는 값과 변하지 않는 값 모두 사용할 수 있다.

    a = {}
    b = {"name":"CH"}
    c = {1:5, 2:3}
    • 딕셔너리 선언 및 타입 확인
    dic = {'name':'SS','age':31, 'phone':'010-1234-1234'}
    print(dic)
    type(dic)
    • 딕셔너리 사용 주의 사항

    없는 키 값에 접근하면 되면 에러 발생

    •  
    dic1['borth']

     

    • get() 이용

    없는 키에 접근해도 에러가 발생하지 않는다.

    dic.get('name')
    dic.get('broth') # 아무일도 일어나지 않는다.

     

    • key 값이 중복되는 상황

    나중에 선언된 쌍만 남겨두게 된다.

    dic_name = {'name' : 'AAA',
                'name' : 'BBB'}
    dic_name # BBB

     

    •  key 값으로 리스트를 사용
      • 오류가 발생을 한다.
    • key 값으로 튜플 사용
      •  튜플은 변하지 않기 때문에 key로 사용 할 수 있다.
    # dic_list = {[1,2,3]:"hi"} 오류발생
    dic_tuple = {(1,2,3):"hi"}

     

    • 딕셔너리 추가
    dic['birth'] = '02.11'

     

    2. 딕셔너리 관련 함수

    • 키 값을 확인하기
    dic.keys()
    dict_keys(['name', 'age', 'phone', 'birth'])
    • 밸류 값을 확인하기
    dic.values()
    dict_values(['SH', 31, '010-1234-1234', '02.11'])
    • tems( ) : 키, 벨류 값을 출력하는 함수
    dic.items()
    dict_items([('name', 'SH'), ('age', 31), ('phone', '010-1234-1234'), ('birth', '02.11')])

     

    - 예제

    score_dict = {'이름': ['AAA','BBB','CCC'],
                  'Python': [90,100,85],
                  'Java' : [100,80,90],
                  'html/css' : [85,75,95]}
    {'이름': ['AAA', 'BBB', 'CCC'],
     'Python': [90, 100, 85],
     'Java': [100, 80, 90],
     'html/css': [85, 75, 95]}

    Python 평균값 구하기

    • sum() : 총합을 구하는 함수
    • len() : 길이를 구하는 함수
    • round() : 소수점에서 반올림을 해주는 함수
    py_avg = sum(score_dict.get('Python'))/len(score_dict.get('Python'))
    print(round(py_avg,2))
    91.67

     

    3. 딕셔너리 값 삭제

    • del 키워드
    • del 딕셔너리변수명[키값]
    del dic['age']
    dic

     

    {'name': 'SH', 'phone': '010-1234-1234', 'birth': '02.11'}

     

    • clear()함수
    • Key:velue 쌍 모두 지우기
    • 딕셔너리명.clear()
    dic.clear()
    dic
    {}

     

    728x90

    'ML&DL&AI > Python' 카테고리의 다른 글

    Python 라이브러리와 Numpy  (0) 2023.06.14
    python 함수  (0) 2023.06.13
    python 반복문  (0) 2023.06.12
    python 리스트와 튜플  (0) 2023.06.08
    Python 조건문  (0) 2023.06.07
Designed by Tistory.