프로그래밍 언어발행일 2023. 2. 16.원본 https://blog.naver.com/jword_/223018186922 ↗

파이썬 딕셔너리에 대한 모든 것

파이썬 딕셔너리에 대한 모든 것 — #파이썬딕셔너리 AI스쿨 msa기반 java 백엔드 코스 중에 공부한 내용을 작성하였습니다 파이썬 딕셔너리 ...

#Languages#Naver Blog

#파이썬딕셔너리

​

AI스쿨 msa기반 java 백엔드 코스 중에 공부한 내용을 작성하였습니다

파이썬 딕셔너리

이전글에서도 파이썬 딕셔너리에 대해 다뤄본적 있습니다. 바로 1장에서 모르는 단어 정리하다가 한번 나왔는데요. 그때는 다른 단어들과 함께 가볍게 알아보았고, 이번에는 딕셔너리에 대한 모든것을 가져왔습니다.

​

\* 새롭게 내용이 계속 추가될 예정입니다.

딕셔너리 자료구조

이미지

key : value

파이썬의 자료구조의 하나인 딕셔너리는 key와 value의 쌍으로 이루어진 자료구조입니다. 자바스크립트의 객체랑 비슷한 녀석이네요.

​

파이썬을 잘 몰랐을 때는 자바스크립트에서 사용하던 용어 그대로 객체라고 혼자 부르기도 했는데, 이는 매우 잘못된 습관이었습니다. 왜냐하면 파이썬의 모든 데이터는 객체로 불리거든요...!

​

key :

딕셔너리의 key값은 항상 불변이여야만 합니다. 불변 자료구조인 문자열, 숫자들은 항상 key로 사용 될 수 있습니다. 또 하나의 불변 자료구조인 튜플은 key값이 될 수 있는데 다만, 절대 리스트를 포함하지 않아야합니다.

​

리스트는 가변으로 언제든지 안의 값이 변할 수 있습니다.

dic = {1 : 1, 'a' : 2, (3, 5) : 3}
dic{1: 1, 'a': 2, (3, 5): 3}

리스트를 포함하면 아래와 같은 오류가 발생합니다.

dic = {1 : 1, 'a' : 2, \['list'\] : 3}
unhashable type: 'list'

빈 딕셔너리

빈 딕셔너리를 만들기 위해서는 {}를 사용하면됩니다. 집합과 혼동할 수 있으나, 빈 집합은 set()을 사용하여 만듭니다.

bin = {}
type(bin)<class 'dict'>

딕셔너리에 접근하기

딕셔너리는 키를 사용하여 값에 접근합니다.

dic\[1\]dic\['a'\]dic\[(3,5)\]
123

딕셔너리 요소 삭제하기

del 명령어를 사용하여 딕셔너리의 key : value한 쌍을 삭제할 수 있습니다. 이때 key값을 사용합니다.

del dic\[1\]del dic\['a'\]
dic{(3, 5): 3}

딕셔너리 요소 추가하기

리스트와는 달리 key값으로 접근하여 자연스럽게 추가가 가능합니다.

dic\['myName'\] = 'tools of develper'
{(3, 5): 3, 'myName': 'tools of develper'}

딕셔너리 요소 수정하기

key값을 입력하여 덮어쓰기 할 수 있습니다. 이전 value는 삭제됩니다.

dic\[(3,5)\] = 'hello'
{(3, 5): 'hello', 'myName': 'tools of develper'}

두개의 딕셔너리 합치기

서로 다른 딕셔너리 데이터를 합치려면 다음과 같은 메서드를 사용합니다.

dic2 = {('my', 'age'):15, 'food': 'apple'}dic.update(dic2)
{(3, 5): 'hello', 'myName': 'tools of develper', ('my', 'age'): 15, 'food': 'apple'}

update() 메서드를 사용하여 요소들을 합칠 수 있습니다. 이때 덮어쓰여질 데이터가 update()에 들어가게 됩니다.

딕셔너리 활용

간단하게 만드는 dict()

dict() 매서드는 key값이 문자열일때 사용하여 ''의 사용을 줄여줍니다.

dict( Name = 'tools of developer', age = 15, isFemale = False)
{'Name': 'tools of developer', 'age': 15, 'isFemale': False}

dict메서드 안에서는 key : value 형태 대신 key = value형태를 사용합니다.

​

딕셔너리 컴프리헨션

리스트나 set과 마찬가지로 딕셔너리도 컴프리헨션을 사용할 수 있습니다.

{x: x\\3 for x in range(11)}
{0: 0, 1: 1, 2: 8, 3: 27, 4: 64, 5: 125, 6: 216, 7: 343, 8: 512, 9: 729, 10: 1000}

​