키(Key)와 값(Value)의 쌍을 저장하는 대용량 자료구조
파이썬 이외 언어에서는 '연관배열', '해시'라고 한다.
리스트나 튜플처럼 순차적으로(=인덱스로) 요소를 꺼낼 수 없음.
Key를 통해 Value를 얻는다!
요소들의 순서는 의미가 없음.
중괄호 {} 안에 Key:Value 형태를 넣고 콤마 , 로 구분
딕셔너리명 = {Key1:Value1, Key2:Value2, Key3:Value3, ...}
🌳쌍 추가
person['job'] = 'Engineer'
print(person) # {'name': 'Alice', 'age': 25, 'city': 'Seoul', 'job': 'Engineer'}
🌳쌍 삭제
del person['age']
print(person) # {'name': 'Alice', 'city': 'Seoul', 'job': 'Engineer'}
🌳쌍에서 value 수정
person['city'] = 'Busan'
print(person) # {'name': 'Alice', 'city': 'Busan', 'job': 'Engineer'}
딕셔너리 사용법 : key를 사용해 value를 얻을 수 있다!
🌳딕셔너리 함수 & 예약어
keys() : Key 리스트 생성
values() : Value 리스트 생성
items() : Key:Value 쌍 얻기
clear() : Key:Value 쌍 모두 지우기
get() : Key로 Value 얻기
in : 해당 Key가 딕셔너리 안에 있는지 파악
d = {'a': 1, 'b': 2, 'c': 3}
print(d.keys()) # dict_keys(['a', 'b', 'c'])
print(d.values()) # dict_values([1, 2, 3])
print(d.items()) # dict_items([('a', 1), ('b', 2), ('c', 3)])
print(d.get('b')) # 2
print('a' in d) # True
d.clear()
print(d) # {}
딕셔너리 쌍이 모두 지워졌다는 의미
set이란 순서가 달라져도 동일, 중괄호{} 안에 value 넣고 콤마로 구분
집합명 = {value1, value2, value3, ...}
a = {1, 2, 3, 3, 4}
print(a) # {1, 2, 3, 4}
b = set([2, 3, 4, 4, 5])
print(b) # {2, 3, 4, 5}
🌳중복 제거용으로 사용가능
nums = [1, 2, 2, 3, 4, 4]
unique_nums = set(nums)
print(unique_nums) # {1, 2, 3, 4}
🌳key만 집합의 요소가 되어 나옴
d = {'a': 1, 'b': 2}
print(set(d)) # {'a', 'b'}
a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
[1] 🌳합집합
print(a | b) # {1, 2, 3, 4, 5, 6}
[2] 🌳교집합
print(a & b) # {3, 4}
[3] 🌳차집합
print(a - b) # {1, 2}
[4] 🌳배타적 차집합
print(a ^ b) # {1, 2, 5, 6}
집합 관련 함수
add() : 원소 한 개 추가
update() : 원소 여러 개 추가
remove() : 특정 값 한 개 제거
예)
s = {1, 2}
s.add(3)
s.update([4, 5])
s.remove(2)
print(s) # {1, 3, 4, 5}
불린(boolean)의 약자, 불(bool)로 부르기도 함.
참(True)와 거짓(False)
True, False의 첫 자는 대문자!
조건문의 반환 값으로도 사용
a = True
b = False
if a:
print("참입니다.")
🌳 자료형의 참과 거짓
print(bool(0)) # False
print(bool(1)) # True
print(bool("")) # False
print(bool("hi")) # True