상세 컨텐츠

본문 제목

Python 07. Collection Type(set, dictionary)

파이썬

by 아리벱 2024. 3. 14. 16:40

본문

안녕하세요! 

오늘은 set()과 dictionary()에 대해서 살펴볼게요!

세트와 딕셔너리 사이에는 밀접한 연관성이 있는데요!

세트와 딕셔너리는 서로 어떤 부분이 차이가 있고 어떤 부분이 비슷한 부분인지 같이 알아보면 좋을 것 같아요

1. 세트

세트(set)는 중복되지 않는 항목들의 컬렉션입니다.

 

1-1. 세트의 생성

세트함수를 만드는 방법은 크게 두 가지입니다.

중괄호{  }를 씌우는 방식이 있고 다른 하나는 set( )을 씌우는 방법입니다.

(주의해야할 점으로 빈 공간을 중괄호를 씌우면 딕셔너리 타입을 띱니다.)

1-2. 세트의 메소드

set.add() 세트에 요소를 추가
set.update() 세트에 여러 요소를 추가
set.remove() 세트의 요소를 제거(단, 요소가 없으면 에러 발생)
set.discard() 세트의 요소를 제거(단 요소가 없어도 에러 발생하지 않음)
set.copy() 세트를 복사
set.union() 두 세트의 합집합을 반환
set.intersection() 두 세트의 교집합을 반환
set.difference() 두 세트의 차집합을 반환
set.symmetric() 두 세트의 대칭 차집합을 반환

 

 

set.add()

set.update()

set.remove() / set.discard()

remove()는 자료가 있는지 없는지 확인이 필요할 때 활용됩니다.

set.copy()

s1과 s2는 같은 값을 참조하지만 서로 다른 메모리를 사용하므로 서로 다르다는 것을 확인할 수 있습니다.

set.union()

도식화한 합집합

set.intersection()

도식화한 교집합

set.difference()

도식화한 차집합

set.symmetric()

 

여기서 하나 더 추가하자면 세트는 순서가 따로 존재하지 않기 떄문에 다른 자료구조와 달리 인덱싱하여 요소를 추출할 수 없습니다.

 

딕셔너리는 특이하게 키-값을 저장하는 특징이 있습니다. 한 번 알아볼까요??

 

2. 딕셔너리

파이썬의 딕셔너리는 키-값 쌍을 저장하는 변경 가능한(mutable) 컬렉션입니다.

 

2-1. 딕셔너리의 생성

세트와 마찬가지로 중괄호{ }를 이용합니다. 딕셔너리에서는 키-값을 쌍으로 입력해야 딕셔너리 자료형으로 입력됩니다.

 

2-2. 딕셔너리의 키, 값

딕셔너리의 키는 오로지 한 개만 존재합니다. 키가 중복된다면 키는 변하지 않고 값이 변할 수 있습니다. 

딕셔너리의 키는 변경 불가능한(immutable) 타입이어야 합니다. 예를 들어, 문자열, 정수, 튜플은 딕셔너리의 키로 사용할  있지만, 리스트는 딕셔너리의 키로 사용할  없습니다. 하지만 딕셔너리의 값은 어떤 타입이든 상관없습니다.

 

2-3. 딕셔너리의 추출

 

2-3. 딕셔너리의 변경 가능 특성

딕셔너리는 변경 가능합니다. 따라서, 딕셔너리에 키-값 쌍을 추가하거나 제거하거나, 기존의 키의 값을 변경할  있습니다

딕셔너리의 키는 변경 불가능하기 때문에 리스트는 제한됩니다. 대신 튜플은 사용 가능합니다.

 

2-4. 딕셔너리의 메소드

dict_keys() 딕셔너리의 모든 키를 반환
dict_values() 딕셔너리의 모든 값을 반환
dict_items() 딕셔너리의 모든 키-값을 쌍(튜플)으로 반환
dict_get()  특정 키에 대한 값을 반환. 만약 키가 딕셔너리에 없으면 None을 반환
dict_pop() 특정 키에 대한 값을 제거하고 그 값을 반환. 
dict_in() 딕셔너리에 특정 키가 있는지 확인

 

dict_keys()

 

dict_values()

 

dict_items()

 

dict_get()

딕셔너리에 없는 키를 코딩하더라도 에러가 발생하지 않고 None을 추출

 

dict_pop()

 

dict_in()

 

이렇게 세트와 딕셔너리를 각각 살펴 보았습니다.

세트는 중복되지 않는 항목들의 컬렉션이고 딕셔너리는 키는 중복되지 않는 세트로 되어있고 변경 불가능하다는 특징이 있으며 값은 변경하다는 특성을 지니고 있습니다.

'파이썬' 카테고리의 다른 글

Python 09. 제어문 - 조건문  (0) 2024.03.14
Python 08. 연산  (0) 2024.03.14
Python 06. input함수  (0) 2024.03.13
Python 05. Collection Type(Tuple)  (0) 2024.03.13
Python 04. Collection Type(List)  (0) 2024.03.13

관련글 더보기