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