본문 바로가기
Python

[파이썬] 딕셔너리와 불린: get, keys, values, items, clear, zip, update, True, False

by eyoo 2022. 4. 20.

DICTIONARIES

  • my_dict = {'key1':'value1', 'key2':'value2', 'key3':'value3'}
  • 딕셔너리는 키, 밸류의 쌍으로 되어 있다. 이 한쌍을 아이템이라고 한다
  • 는, 딕셔너리 안에 유일한 값으로 되어 있다. 따라서 키가 같은 값을 가질 수 없다. 그러나 밸류는 같은 값이 여러개 있어도 상관없다.
  • 리스트는 인덱스의 오프셋으로 접근하지만, 딕셔너리는 키로 접근한다.

 

중괄호 '{ }'를 사용해서 딕셔너리를 만들수 있다.

in: my_phone = { 'brand':'Apple' , 'model':'iPhone X' , 'year':2018 }

in: my_phone

out: 

{'brand': 'Apple', 'model': 'iPhone X', 'year': 2018}

 

딕셔너리의 키의 밸류를 가져오고자 한다면:

 

in: my_phone['brand']

out: 

'Apple'

# 기본적으로 딕셔너리는 리스트처럼 오프셋 번호를 사용하여 불러오면 에러가 나온다.

# 딕셔너리는 키를 이용해서 밸류를 불러와야 한다.

 

또는 get 함수를 이용하여 데이터를 억세스 할수있다.

 

in: my_phone.get('brand')

out: 

'Apple'

# get 함수를 이용하여 밸류를 불러올때 만약 해당 키값이 없어도 에러가 나지 않는다.

 

 

딕셔너리에 데이터를 추가 하고싶을때

 

in: my_phone['color'] = 'red'

in: my_phone

out:

{'brand': 'Apple', 'model': 'iPhone 12', 'year': 2018, 'color': 'red'}

 

원래있던 데이터 값을 바꾸고자 할때:

 

스마트폰 모델을 아이폰 12로 바꾸려고 한다.

 

in: my_phone['model'] = 'iPhone 12'

in: my_phone

out:

{'brand': 'Apple', 'model': 'iPhone 12', 'year': 2018, 'color': 'red'}
in: my_phone['year'] = 2021
in: my_phone
out:
'brand': 'Apple', 'model': 'iPhone 12', 'year': 2021, 'color': 'red'}

 

 

딕셔너리의 데이터를 del을 통해 삭제 할수있다.

 

 

스마트폰의 모델 데이터를 삭제 해보자

in: del my_phone['model']

in: my_phone

out:

{'brand': 'Apple', 'year': 2021, 'color': 'red'}

 

키, 밸류, 아이템의 데이터를 여러가지 함수들을 통해 확인해볼수 있다.

 

키값을 확인할때:

in: my_phone.keys()

out:

dict_keys(['brand', 'year', 'color'])

 

밸류값을 확인할때:

in: my_phone.values()

out:

dict_values(['Apple', 2021, 'red'])

 

아이템값을 확인할때:

in: my_phone.items()

out:

dict_items([('brand', 'Apple'), ('year', 2021), ('color', 'red')])

# 해당 데이터들이 리스트 비슷한 형식으로 되어있지만 정확히 리스트는 아니다.

# 리스트 형식으로 바꾸려면 list 함수를 이용하여 리스트로 변환할수 있으며

# 파이썬 기본 함수인 sum 혹은 sorted 함수 등을 이용해 리스트 형식으로 만들수있다.

 

 

딕셔너리에 데이터가 있는지 확인하려고 한다.

 

in: 'brand' in my_phone

out:

True

 

in: 'Apple' in my_phone

out:

False

# 밸류 데이터는 직접 확인하는 게 불가능하다.

# 대신 밸류는 values 함수를 사용하여 확인 가능하다.

in: 'Apple' in my_phone.values()

out:

True

 

데이터 스트럭쳐의 데이터를 모두 삭제 하고싶을때 clean 함수를 이용한다

 

in: my_phone.clear()

in: my_phone

out:

{}

# 리스트도 딕셔너리처럼 clean 함수를 사용하여 모두 삭제할수 있다.

 

dict함수와 zip함수를 통해 딕셔너리를 만들수 있다.

 

in: keys = ["apple", "pear", "peach"]
in: vals = [300, 250, 400]

in: result = dict(zip(keys, vals))

in: result

out:

{'apple': 300, 'pear': 250, 'peach': 400}

# zip 함수 안쪽에 첫번째 값은 키가, 두번째 값은 밸류가 오게 한다.

# dict 함수를 이용해 딕셔너리를 만들수 있다. 

 

' * ' 문자를 통해 정해진 변수의 수보다 더 많은 값을 저장할수있다.

 

in: a,b,*c = 1,2,3,4,5,6,7,8,9

in: print(a)
in: print(b)
in: print(c)

out:

1
2
[3, 4, 5, 6, 7, 8, 9]

 

update 함수를 통해 두개의 딕셔너리를 하나로 합칠수 있다.

 

in: icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
in: new_product = {'팥빙수':2700, '아맛나':1000}

in: icecream.update(new_product)

in: icecream

out:

{'탱크보이': 1200,
 '폴라포': 1200,
 '빵빠레': 1800,
 '월드콘': 1500,
 '메로나': 1000,
 '팥빙수': 2700,
 '아맛나': 1000}

 

BOOLEANS

  • Boolean 은 다음 2가지의 오브젝트로 나타낸다. "False" and "True".
  • 숫자 0과 1과 같은 의미이다. (False가 0, True가 1)

 

in: int(True)

out:

1

# True를 정수로 변환하면 1이 된다.

 

 

 

 

 

댓글