구글 코랩이나 주피터 노트북에서 직접 작성하며 풀어보세요.
딕셔너리는 리스트, 튜플처럼 데이터를 보관하는 자료형이다.
리스트나 튜플은 보관된 데이터끼리의 관계를 알 수 없지만,
딕셔너리는 데이터의 대응 관계를 표현한다.
{key : value} 의 형태로.
a = {"이름" : "홍길동", "성별" : "남자", "나이" : 30}
print(a)
{"이름" : "홍길동", "성별" : "남자", "나이" : 30}
보기 쉽게 표로 나타내보자.
key | value |
---|---|
이름 | 홍길동 |
성별 | 남자 |
나이 | 30 |
key 값 : 이름, 성별, 나이
value 값 : 홍길동, 남자, 30
5번 예시)
a = {"이름" : "홍길동", "이름" : "최현준"}
print(a)
{"이름" : "최현준"}
변수[추가할 key값] = [추가할 value값] 의 형태로 추가할 수 있다.
예시)
a = {"이름" : "홍길동", "성별" : "남자", "나이" : 30}
a['사는 곳'] = '수원'
print(a)
{"이름" : "홍길동", "성별" : "남자", "나이" : 30, '사는 곳' : '수원'}
리스트에서 값을 수정할 때와 형태가 비슷해서 헷갈릴 수 있다.
a = [6, 7, 8]
a[2] = 4
[6, 7, 4]
딕셔너리에서는 값을 수정하는 게 아니라 추가하는 형태다.
변수[변경할 value값의 key값] = [변경할 value값] 의 형태로 추가할 수 있다.
a = {"이름" : "홍길동", "성별" : "남자", "나이" : 30}
a['이름'] = '최현준'
print(a)
{"이름" : "최현준", "성별" : "남자", "나이" : 30}
a = {"이름" : "홍길동", "성별" : "남자", "나이" : 30}
print("이름" in a)
print("홍길동" in a)
True
False
딕셔너리는 무조건 key값 기준으로 판단하고 수행하기 때문에, '홍길동'이라는 값은 해당 딕셔너리에 없다고 판단해서 false라는 결과가 나왔다.
문자열과 리스트처럼 특정 값에 접근할 수 있다.
다른 점은 딕셔너리에는 순서가 없기 때문에
문자열이나 리스트처럼 0번째에 접근하겠다는 식으로 인덱싱할 수는 없다.
[key값]을 작성하면 해당 key값에 대응하는 value값이 결과로 나온다.
a = {"이름" : "홍길동", "성별" : "남자", "나이" : 30}
print(a['이름'])
홍길동
key값'이름'에 대응하는 value값 '홍길동'이 결과로 나왔다.
딕셔너리는 무조건 key값 기준으로 판단하고 수행하기 때문에, value값으로 인덱싱할 수는 없다.
리스트처럼 파이썬 내장 함수인 del함수로 특정 값을 삭제할 수 있다.
딕셔너리는 무조건 key값 기준으로 판단하고 수행하기 때문에,
del함수에 key값만 넣어도 해당하는 value값도 같이 삭제된다.
a = {"이름" : "홍길동", "성별" : "남자", "나이" : 30}
del a['나이']
print(a)
{"이름" : "홍길동", "성별" : "남자"}
전체 key값을 확인할 때 사용한다.
a = {"이름" : "홍길동", "성별" : "남자", "나이" : 30}
print(a.keys())
dict_keys(['이름', '성별', '나이'])
결과값이 깔끔하게 나오게 하려면 list함수를 사용하면 된다.
a = {"이름" : "홍길동", "성별" : "남자", "나이" : 30}
print(list(a.keys()))
['이름', '성별', '나이']
전체 values값을 확인할 때 사용한다.
a = {"이름" : "홍길동", "성별" : "남자", "나이" : 30}
print(a.values())
dict_values(['홍길동', '남자', 30])
결과값이 깔끔하게 나오게 하려면 list함수를 사용하면 된다.
a = {"이름" : "홍길동", "성별" : "남자", "나이" : 30}
print(list(a.values()))
['홍길동', '남자', 30]
여기까지 딕셔너리 자료형이었습니다.
수정이 필요한 부분이나 이해가 안 가는 부분이 있다면 언제든 말씀해주세요!^0^
다음 시간에는 딕셔너리 자료형 실습 문제를 풀어볼게요.
그럼 이만
총총