Key-value 형태의 값을 저장할 수 있는 자료구조
마치 데이터베이스 처럼 키와 값을 묶어서 데이터를 표현해야 할때 유용. 실제로 데이터베이스 에서 읽어들인 값을 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