1. dictionary 선언하기
dictionary는 key 와 value로 이루어진 자료구조 입니다. 순서가 없기때문에 index가 아닌 key로 접근합니다. key는 문자열로 만들고 value는 다양한 객체로 매핑할수있습니다.
info = {"id": 1, "name": "apple", "price":15000}
2. dictionary 사용하기
dict에서 원하는 값을 가져오려면 key를 통해서 가져올수 있습니다.
info["id"]
1
info["name"]
apple
info["price"]
15000
dictionary에서 key와 value를 한꺼번에 읽어오려면 items() 를 사용하면 됩니다.
for key, value in info.items():
print(f'key: {key}, value: {value}')
key: id, value: 1
key: name, value: apple
key: price, value: 15000
dictionary에서 value값만 사용하기 위해서는 values() 를 사용하면 됩니다.
for val in info.values():
print(f'value list:{val}')
value list:1
value list:apple
value list:15000
dictionary에 key가 있는지 알아보려면 in 을 사용하면 됩니다.
if 'name' in info:
print('yes')
yes
if 'title' in info:
print('yes')
else:
print('no')
no
dictionary에 apple이라는 value가 있는지 알아보려면 for 문을 이용해 values들을 탐색해보면 됩니다.
# for문을 이용해 dictionary의 value들을 추출합니다
value_list = [val for val in info.values()]
if 'apple' in value_list:
print('yes')
yes
3. dictionary 응용하기
dictionary를 list에 담아서 활용할수 있고 name key가 banana인 id의 값을 추출하고 싶다면 for문과 if문을 합친 한줄로 뽑아낼수있다.
info_list = [{'id':1, 'name':'apple'},{'id':2, 'name':'banana'},{'id':3, 'name':'kiwi'}]
#banana value값을 이용해 id값 뽑아내기
id = [fruit['id']for fruit in info_list if fruit['name']=='banana'][0]
id
2
1줄로된 for if문을 풀어쓴다면 아래와 같다.
name = [fruit['id']for fruit in info_list if fruit['name']=='banana'][0]
id = ''
for fruit in info_list
if fruit['name'] == 'banana':
id = fruit['id']
id
2