본문 바로가기
PYTHON

PYTHON 데이터구조-➂세트, 딕셔너리[PYTHON개발]

by cellin 2023. 11. 1.

세트(set)

 

세트는 중괄호({})로 감싸서 선언

세트 안의 요소(element)들은 쉼표(,)로 구분

 

 

 

문법

세트명 = {요소1, 요소2, 요소3, ...}
 

EXAMPLE

set1 = {1, 2, 3}

set2 = set("Pie")

set3 = set("Hi")  

 

print(set1)

print(set2)

print(set3)
 

결과

{1, 2, 3}
{'i', 'P', 'e'}
{'i', 'H'}
 

 

 

빈 세트(empty set)

아무런 요소도 저장하고 있지 않은 집합

튜플처럼 단순히 중괄호({})만을 사용해서는 안됨(딕셔너리로 잘못 인식)

 

 

 

EXAMPLE

set1 = {}

set2 = set()  

 

print(type(set1))

print(type(set2))
 

결과

<class 'dict'>
<class 'set'>
 

 

 

 

 

 

 

세트에 요소 추가하거나 제거하기

add() 함수는 전달된 인수를 해당 세트의 요소로 추가

remove() 함수는 해당 세트에서 전달된 인수를 찾아 제거

 

여러 개의 요소를 한 번에 추가하려면 update() 함수를 사용

 

 

 

 

EXAMPLE

set1 = {3,4,5}  

 

set1.add(6)

print(set1)  

 

set1.update((7, 8))

print(set1)  

 

set1.remove(3)

print(set1)  
 

 

 

결과

{3, 4, 5, 6}
{3, 4, 5, 6, 7, 8}
{4, 5, 6, 7, 8}
 

 

 

 

 

집합 연산

합집합, 교집합, 차집합, 여집합 등 다양한 집합 연산을 세트 타입을 활용하여 매우 손쉽게 구현

 

EXAMPLE

set1 = {1, 2, 3, 4, 5}
set2 = set((1, 3, 5, 7, 9))  

print(set1)
print(set2)  


print(set1 | set2) # 합집합
print(set1 & set2) # 교집합
print(set1 - set2) # 차집합
print(set1 ^ set2) # 여집합 = 합집합 - 교집합
 

 

결과

 

{1, 2, 3, 4, 5}
{1, 3, 5, 7, 9}
{1, 2, 3, 4, 5, 7, 9}
{1, 3, 5}
{2, 4}
{2, 4, 7, 9}
 

 

 

 

 

 

 

 

 

딕셔너리 선언하기

 

딕셔너리는 중괄호({})로 감싸서 선언

딕셔너리의 각 요소(element)들은 쉼표(,)를 사용하여 구분

 

딕셔너리의 요소는 또다시 키(key)와 값(value)의 한 쌍으로 구성, 이 둘은 콜론(:)으로 연결

 

 

 

문법

딕셔너리명 = {요소1, 요소2, 요소3, ...}
요소 = 키(key): 값(value)
 

EXAMPLE

dict1 = {'하나': 1, '둘': 'two'}
dict2 = dict({'하나': 1, '둘': 'two'})
dict3 = dict([('하나', 1), ('둘', 'two')])
dict4 = dict(하나=1, 둘='two')

print(dict1)
print(dict2)
print(dict3)
print(dict4)
 

 

 

 

 

 

 

딕셔너리에 요소 추가하거나 제거하기

딕셔너리에 요소를 추가하려면 대괄호([]) 안에 키(key)를 넣고 대입 연산자(=)를 사용하여 값(value)을 저장

 

 

문법

dict1[‘사과’] = 1000
 

 

 

EXAMPLE

dict1 = dict({'사과': 1000, '바나나': 500, '배': 1100})

dict1['포도'] = 100
print(dict1)

del dict1['사과']
print(dict1)

dict1['바나나'] = 900
print(dict1)

dict1.clear()
print(dict1)
 

결과

{'사과': 1000, '바나나': 500, '배': 1100, '포도': 100}
{'바나나': 500, '배': 1100, '포도': 100}
{'바나나': 900, '배': 1100, '포도': 100}
{}
 

{'사과': 1000, '바나나': 500, '배': 1100, '포도': 100}

{'바나나': 500, '배': 1100, '포도': 100}

{'바나나': 900, '배': 1100, '포도': 100}

{}

 

 

 

 

 

 

 

 

 

 

 

사진: UnsplashShunya Koide

728x90
반응형