Dictionary에 대하여 알아보자!

김현우·2020년 8월 10일
0

data structure

목록 보기
3/3

Dictionary란?

Key-value 형태의 값을 저장할 수 있는 자료구조

특성

  • Set과 마찬가지로 특정 순서대로 데이터를 리턴하지 않는다.
  • Key의 값은 중복될 수 없다. 만일 중복된 key 가 있으면 먼저 있던 key와 value를 대체한다.
  • 수정 가능하다(mutable).

내부 구조

  • Set와 비슷하게 key 값의 해쉬값을 구한 후 해쉬값에 속해있는 bucket에 값을 저장함.
  • 그럼으로 set와 마찬가지로 순서가 없고 중복된 key 값은 허용 되지 않음.

언제 쓰는가?

마치 데이터베이스 처럼 키와 값을 묶어서 데이터를 표현해야 할때 유용. 실제로 데이터베이스 에서 읽어들인 값을 dictionary로 변환해서 사용 자주 함.

실습

# dictionary create 1
dictionary1 = {'name':['Ryan','Lee'], 'job':'sw engineer', 'address': {'city':'seoul', 'zip_code':'1234'} }

# dictionary create 2
dictionary2 = {}
dictionary2['name'] = ['Ryan', 'Lee']
dictionary2['job'] = 'sw engineer'
dictionary2['address'] = {'city':'seoul', 'zip_code':'1234'}

# dictionary create 3
dictionary3 = dict(name=['Ryan','Lee'], job='sw engineer', address={'city':'seoul','zip_code':'1234'})

# dictionary create 4
dictionary4 = dict([('name',['Ryan','Lee']), ('job','sw enginner'), ('address',{'city':'seoul','zip_code':'1234'})])

첫번째 방법은 데이터가 주어지거나 딕셔너리의 내용이 고정되어 있는 경우 사용되는 방법입니다.

두번째 방법은 dictionary2변수를 선언해놓고 데이터 베이스를 조회해서 필요한 정보를 동적으로 채워야 할때 편리합니다.

세번째 방법은 숫자로 딕셔너리의 키로 사용할 수 있지만 문자열만 키로 사용되는 경우 사용할 수 있는 방법입니다.

네번째 방법은 튜플로 받아온 정보로 키와 값을 만들어야 할 경우에 사용할 수 있습니다.


이처럼 각각의 키에 해당하는 구조화된 정보를 리스트 또는 딕셔너리로 쉽게 표현할 수 있습니다. 이렇게 중첩해서 데이터를 표현하는 방법은 구현할 때 많이 사용되므로 알아 두면 좋습니다. 특히 동적으로 키, 값을 삽입하고 접근하는 방법은 꼭 익혀주세요!

위의 예제에서 name키에서 'Ryan' 과 'Lee'를 각각 가져와보고 출력해보고, address키에서 'seoul'과 zipcode '1234' 를 가져와서 출력보세요.

print(dictionary1['name'])
print(dictionary1['address'])

>>>  ['Ryan', 'Lee']
>>>  {'city': 'seoul', 'zip_code': '1234'}
print(dictionary1['address'])
>>>  {'city': 'seoul', 'zip_code': '1234'}
print(list(dictionary1)[1])
>>>  zip_code
profile
코딩을 잘하는 개발자가 되자!

0개의 댓글