티스토리 뷰

Python

파이썬 dict 딕셔너리

praybe 2022. 5. 17. 10:18
{'a': 1, 'b': 2 }

-- 딕셔너리 특징

1. 데이터 타입: 자료형

2. Python의 key와 value로 매칭

3. 순서 상관없이 key를 이용해서 바로 value에 접근

4. immutable(불변)이라 list,set(mutable)은 key가 될 수 없음

5. key 중복이 안되어서 key가 중복되는 경우 앞의 key 값이 뒤에 입력한 값으로 변경 됨

6. value에는 숫자, 문자, tuple, list, dict 등 섞어서 사용 가능 

7. print 메서드를 사용해서 딕셔너리 조회 가능. 그러나 구조가 복잡하면 알기 어려움 

 

 

-- 딕셔너리 생성방법

1. dict 함수

d = dict(a=1, b=2, c=3)

2. 중괄호 { } 

{'a'=1, 'b'=2, 'c'=3}

 

 

-- 딕셔너리 활용

1. 딕셔너리 합치기 

update()메서드 또는 dict()메서드 활용

'''
update()메서드 
'''

d1 = {'a':1, 'b':2}
d2 = {'b':1, 'c':2}

d1.update(d2)

print(d1)

#결과
# {'a':1, 'b':1, 'c':2}
'''
dict()메서드 
'''
d1 = {'a':1, 'b':2}
d2 = dict(c=3, b=4)
d3 = dict(d1, **d2) # ** 는 여러 개의키워드 인수를 받을 때 dict형태로 표시

print(d3)

#결과
# {'a':1, 'b':4, 'c':3}

 

2. 특정값 찾기

key를 이용. list와 달리 index 지원은 안함

d = {'a':1, 'b':2}
d['a']

#결과
# 1

 

3. 추가하기

새로운 key값 할당

d = {'a':1, 'b':2}
d['c'] = 4

 

4. 값 변경

해당 key값을 다시 입력

d = {'a':1, 'b':2}
d['a'] = 3

 

5. dict(딕셔너리) key 값 얻기

딕셔너리의 key값들만 추출하려면 keys( ) 메서드 사용

추출된 data는 dict_keys라는 자료형으로 저장

d = {'a':1, 'b':2}
d.keys()

#결과
# dict_keys(['a', 'b'])

 

6. dict value 값 얻기

딕셔너리의 값만 추출하려면 values( ) 메서드를 사용

d = {'a':1, 'b':2}
d.values()

#결과
# dict_values([1, 2])

 

7. dict key로 value 값 얻기

get( ) 메서드에 key를 넣으면 value에 접근

d = {'a':1, 'b':2}

# key가 있을 경우
test1 = d.get('a')
print(f'd.get('a') : {test1}')

#결과
# d.get('a') : 1

# key가 없을 경우
test2 = d.get('c')
print(f'd.get('c') : {test2}')

#결과
# d.get('c') : None

 

8. 모든 dict key, value 값을 합쳐서 반환. tuple형태

dict.items( ) 메서드 사용.

tuple은 List와 유사한 읽기만 가능한 자료형.

소괄호 ( ) 로 묶어서 생성.

읽기만 가능해서 속도가 빠름

d = {'a':1, 'b':2}
d.items()

#결과
# dict_values([('a', 1), ('b', 2)])

 

 

9. 특정 key값 삭제

del( ) 메서드를 사용하여 특정 key 값 삭제

d = {'a':1, 'b':2}
del(d['a'])

pop( ) 메서드도 가능한데 삭제와 동시에 삭제된 값을 반환해준다. 즉 무엇을 삭제했는지 알 수 있음 

d = {'a':1, 'b':2}
d.pop('a')

#결과값
# 1

 

 

10. 모두 삭제

딕셔너리의 모든 key와 value 값을 삭제하려면 clear( ) 메서드를 사용

d = {'a':1, 'b':2}
d.clear()

 

 

 

 

 

 

 

 

 

 

 

 

댓글