-
Python 딕셔너리(dictionary)ML&DL&AI/Python 2023. 6. 13. 15:50728x90
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