8. 컬렉션 타입-딕셔너리
2024. 9. 25. 07:50ㆍ파이썬(python)
1.딕셔너리
파이썬의 딕셔너리는 키-값 쌍을 저장하는 변경 가능한(mutable) 컬렉션입니다.
1)
dic1{}
print(dic1)
print(type(dic1))
-->
{}
<class 'dict'>
2)
dic2 = {1:'김사과', 2:'반하나', 3:'오렌지', 4:'이메론'}
print(dic2)
print(type(dic2))
-->
{1:'김사과', 2:'반하나', 3: '오렌지', 4: '이메론'}
<class ' dict'>
3)
dic2 = {1:'김사과', 2:'반하나', 3:'오렌지', 2:'이메론'}
#키가 중복되면 값을 재저장
print(dic2)
print(type(dic2))
-->
{1:'김사과', 2: '이메론', 3: '오렌지'}
<class 'dict'>
4)
dic2 = {1:'김사과', 2:'반하나', 3:'오렌지', 4:'이메론'}
print(dic2[2])
print(dic2[4])
-->
반하나
이메론
5)
dic3 = {'no':1, 'userid':'apple', 'name': '김사과', 'hp': '010-111-1111'}
print(dic3)
print(dic3['userid'])
print(dic3['hp'])
-->
apple
010-111-1111
6)
dic4 = {1:'apple'}
print(dic4)
dic4[100] = 'banana'
print(dic4)
dic4[50] = 'orange'
print(dic4)
dic4[100] = 'melon'
print(dic4)
-->
{1:'apple'}
{1:'apple', 100:'banana'}
{1:'apple', 100:'banana',50:'orange'}
7)
del dic4[100]
print(dic4)
-->
{1: 'apple', 50: 'orange'}
8)
dic3 = {'no':1, 'userid':'apple', 'name': '김사과', 'hp': '010-111-1111'}
print(dic3)
-->
{'no': 1, 'userid': 'apple', 'name': '김사과', 'hp': '010-111-1111'}
# 요소 추가
dic3['gender'] = 'female'
print(dic3)
-->
{'no': 1, 'userid': 'apple', 'name': '김사과', 'hp': '010-111-1111', 'gender': 'female'}
#요소의 값 변경
dic3['no'] = 10
print(dic3)
-->
{'no': 10, 'userid': 'apple', 'name': '김사과', 'hp': '010-111-1111'}
dic3['score'] = [100, 90, 40]
print(dic3)
-->
{'no': 1, 'userid': 'apple', 'name': '김사과', 'hp': '010-111-1111', 'score': [100, 90, 40]}
#dic3[[10, 20, 30]] = ['십', '이십', '삼십'] # key가 안되구 튜플은 된다
#print(dic3)
dic3[(10, 20, 30)] = ['십', '이십', '삼십']
print(dic3)
-->
{'no': 1, 'userid': 'apple', 'name': '김사과', 'hp': '010-111-1111', (10, 20, 30): ['십', '이십', '삼십']}
dic3['과일'] = ['사과 : ' '🍎', '딸기 : ' '🍓', '수박 : ' '🍉']
print(dic3)
-->
{'no': 1, 'userid': 'apple', 'name': '김사과', 'hp': '010-111-1111', '과일': ['사과 : 🍎', '딸기 : 🍓', '수박 : 🍉']}
2. 딕셔너리 메서드
1)
#keys() : 딕셔너리의 모든 키를 반환
dic3 = {'no':1, 'userid':'apple', 'name': '김사과', 'hp': '010-111-1111'}
print(dic3)
print(dic3.keys())
-->
{'no': 1, 'userid': 'apple', 'name': '김사과', 'hp': '010-111-1111'}
dict_keys(['no', 'userid', 'name', 'hp'])
2)
#values() :딕셔너리의 모든값을 반환
dic2 = {'no':1, 'userid': 'apple', 'name' :'김사과', 'hp' : '010-111-1111'}
print(dic2.values())
-->
dict_values([1, 'apple', '김사과', '010-111-1111'])
3)
#items() : 딕셔너리의 모든 키-값을 튜플로 변환
dic3 = {'no':1, 'userid':'apple', 'name': '김사과', 'hp': '010-111-1111'}
print(dic3)
print(dic3.items())
-->
{'no': 1, 'userid': 'apple', 'name': '김사과', 'hp': '010-111-1111'}
dict_items([('no', 1), ('userid', 'apple'), ('name', '김사과'), ('hp', '010-111-1111')])
4)
#get() : 특정 키에 대한 값을 반환 만약 키가 딕셔너리에 없으면 None을 반환
#None을 치환할수 있는 문자열을 설정할 수 있음
#num = ' '
#num = None
dic3 = {'no':1, 'userid':'apple', 'name': '김사과', 'hp': '010-111-1111'}
print(dic3)
print(dic3['userid'])
#print(dic3['gender'])
print(dic3.get('userid'))
print(dic3.get('gender')) # None
print(dic3.get('gender','성별 알수 없음'))
print(dic3.get('gender','알수 없음'))
-->
{'no': 1, 'userid': 'apple', 'name': '김사과', 'hp': '010-111-1111'}
apple
apple
None
성별 알수 없음
알수 없음
5)
#pop() : 특정키에 대한 값을 제거하고 제거된 값을 반환, 키가 없다면 에러
dic3 = {'no':1, 'userid':'apple', 'name': '김사과', 'hp': '010-111-1111'}
print(dic3)
temp = dic3.pop('hp')
print(dic3)
print(temp)
-->
{'no': 1, 'userid': 'apple', 'name': '김사과', 'hp': '010-111-1111'}
{'no': 1, 'userid': 'apple', 'name': '김사과'}
010-111-1111
6)
# in() ; 딕셔너리에 특정 키가 있는지 확인
dic3 = {'no':1, 'userid':'apple', 'name': '김사과', 'hp': '010-111-1111'}
print(dic3)
print('hp' in dic3)
print('010-111-1111' in dic3)
-->
{'no': 1, 'userid': 'apple', 'name': '김사과', 'hp': '010-111-1111'}
True
False
728x90
LIST
'파이썬(python)' 카테고리의 다른 글
10. 제어문-조건문 (2) | 2024.09.25 |
---|---|
9. 파이썬 연산자 (6) | 2024.09.25 |
7. 컬렉션 타입 세트 (0) | 2024.09.25 |
6. 컬렉션 타입-튜플 (0) | 2024.09.25 |
5. 컬렉션 타입-리스트 (0) | 2024.09.24 |