본문 바로가기

프로그래밍

[python] 딕셔너리(dict), 집합 set() 사용법

딕셔너리 선언

a = {}

a = dict()

a = {"키":"값"}

 

Json 형태와 매우 비슷합니다.

a = {"이름":"헐크", "나이":30}
print( a ) # {'이름': '헐크', '나이': 30}
a["이름"] = "홍길동"
print( a ) # {'이름': '홍길동', '나이': 30}

 

딕셔너리 키 지정하여 삭제 : del

a = {"이름":"헐크", "나이":30}
del a["이름"]
print( a ) # {'나이': 30}

 

딕셔너리 키 추출 : pop

a = {"이름":"헐크", "나이":30}
a.pop("나이")
print( a ) # {'이름': '헐크'}

 

딕셔너리 요소 추가 : update

a = {"이름":"헐크"}
b = {"나이":30}
c = {"직업":"의사"}

a.update(b)
a.update(c)

print(a) # {'이름': '헐크', '나이': 30, '직업': '의사'}

 

딕셔너리 키 값만 가져오기

딕셔너리 value 값만 가져오기

a = {"이름":"헐크", "나이":30, "직업":"의사"}

print(a.keys()) # dict_keys(['이름', '나이', '직업'])
print(a.values()) # dict_values(['헐크', 30, '의사'])

 

값 가져오기 : get("key") , 키 값이 없으면 None 반환

a = {"이름":"헐크", "나이":30, "직업":"의사"}

print(a.get("나이")) # 30
print(a.get("국적")) # None

 

키 값 존재 유무 확인 : "key" in 딕셔너리

a = {"이름":"헐크", "나이":30, "직업":"의사"}
print("직업" in a) # True
print("성별" in a) # False

 

집합 set() 사용법

 

집합 set() 선언 : set()의 특징으로는 중복되는 값이 존재할 수 없다.

a = {1, 2, 3}
print(type(a)) #<class 'set'>

a = set([0,0,0,1,2,3])
print(a) #{0, 1, 2, 3}

 

집합 연산 : &(교집합), |(합집합), -(차집합)

a = set([1,2,3,4])
b = set([3,4,5,6])

print(a&b) #{3, 4}
print(a|b) #{1, 2, 3, 4, 5, 6}
print(a-b) #{1, 2}

 

집합 메서드 : add(), remove(), update()

a = set([1,2,3,4])

a.add(5) #집합에 5 추가
print(a) #{1, 2, 3, 4, 5}

a.remove(1) #집합에서 1 삭제
print(a) #{2, 3, 4, 5}

a.update([5,6,7,8]) #집합 전체 업데이트
print(a) #{2, 3, 4, 5, 6, 7, 8}