본문 바로가기
카테고리 없음

Python dictionary 다루기

by am6:00 2023. 2. 15.

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