파이썬, 자료형 [3] Dictionary, Set, Bool

sky.dev·2025년 4월 16일

Data&AI-Uni.

목록 보기
8/77
post-thumbnail

Dictionary

키(Key)와 값(Value)의 쌍을 저장하는 대용량 자료구조
파이썬 이외 언어에서는 '연관배열', '해시'라고 한다.

딕셔너리의 특징

리스트나 튜플처럼 순차적으로(=인덱스로) 요소를 꺼낼 수 없음.
Key를 통해 Value를 얻는다!
요소들의 순서는 의미가 없음.
중괄호 {} 안에 Key:Value 형태를 넣고 콤마 , 로 구분

딕셔너리명 = {Key1:Value1, Key2:Value2, Key3:Value3, ...}

  • 키(Key)는 중복 ❌
    값(Value)은 중복
  • 중복되는 키가 있다면 하나를 제외한 나머지는 무시된다

딕셔너리 쌍 추가, 삭제, 수정

🌳쌍 추가

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)             # {}

딕셔너리 쌍이 모두 지워졌다는 의미

  • 빈 Dictionary가 됨
  • Dictionary가 없어짐

set

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}

Bool

불린(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

0개의 댓글