집합 자료형 정리 (Set & Dictionary)

sj950902·2일 전
1

Python

목록 보기
1/3
post-thumbnail

이전 포스팅에서는 파이썬의 집합 자료형인 List와 Tuple에 대해서 포스팅 했었죠. 이 둘의 경우는 값을 차례대로 나열하기 때문에 인덱싱을 통해서 값을 가져올 수 있었는데, 이번에 포스팅할 Set과 Dictionary도 집합 자료형이지만, List와 Tuple과는 다른 점이 있습니다.

1. SET 자료형

SET은 수학의 집합과 같이 중복을 허용하지 않고, List와 tuple과 다르게 순서가 없습니다. 그렇기 때문에 무언가 정렬된 자료들을 볼때 사용하기 보다는 값의 유무나 중복된 값을 제거하는 용도로 사용하죠 !

SET 자료형 특징

  • 요소들의 중복을 허용하지않음.
  • 순서가 없다
  • 수학의 집합과 같이 교집합과 합집합의 기능을 수행하는 연산자가 있다.


set_a = set() 	
# '그냥 {}'은 Dictionary를 나타내는 기호임. 혼동하지 않도록 주의 !
# 빈 집합 생성

set_b = {1, 2, 3, 3}
print(set_b)
# {1, 2, 3}
# 중복이 제거됨
# 이것을 활용해서 List Type을 SET Type으로 변경한 뒤 다시 List타입으로 변경하면 편하게 중복제거 가능 !!!

set_c = {1, 2, 5}

print(set_b & set_c)
# {1, 2}
# &은 두 집합의 교집합을 뽑아낼 수 있음.

print(set_b | set_c)
# {1, 2, 3, 5}
# |은 두 집합의 합집합 !!!

print(set_b - set_c)
# {3}
# 뺄셈으로 차집합을 구할수도 있다.

SET 자료형 다루기

  • 값을 추가할땐 set.add("element")
  • 한번에 많은 값을 추가할땐 set.update([4,5])
  • 값을 삭제할땐 set.remove(element)

2. Dictionary

List에서 인덱싱으로 값을 저장하듯이, 주어진 값을 '키' 값으로 하여 그 값에 해당되는 다른 값 (value)를 저장할 수 있습니다.

Dictionary 특징

  • Set 과 동일하게 키 값들의 중복을 허용하지 않는다.
  • 순서가 없다 (*어차피 키값으로 접근하기 때문에 필요없나보다.)
  • "{ }"안에 저장된다

d = {}
# 빈 딕셔너리
# 혹은 dict()으로 가능

d = {'name': '김승재', 'nickname': 'paul'}

# 중괄호로 감싸고, 각 쌍은 key: value 형태로 정의하며, 쉼표로 구분

d = {1: 10, 2: 20}
# key는 불변 자료형, value는 어떤 자료형이든 사용할 수 있음

d = {'info': {'name': '김승재', 'nickname': 'paul'}}
# 다중 딕셔너리

print(d)
# {'info': {'name': '김승재', 'nickname': 'paul'}}

Dictionary 값 조회

d = {'name': '김승재', 'nickname': 'paul'}
print(d['name'])
# '김승재'

d = {'info': {'name': '김승재', 'nickname': 'paul'}}
# 다중 딕셔너리
print(d['info']['name'])
# '김승재'


# 루프를 돌릴때, 다음과 같이 keys()를 통해서 구할수 있다.
for key in d.keys(): # dictionary 내의 key 값들을 하나의 리스트로 정리해서 줌
	... # some codes here

Dictionary 값 추가 / 수정 / 삭제


d = {}

d['name'] = '김승재'
d['nickname'] = 'paul'
# 요소 추가

d['nickname'] = 'paul2'
# 요소 수정

del d['nickname']
# 요소 제거
# d= {'name' : '김승재'}
profile
# 백엔드개발자 # 기억보단 기록을

0개의 댓글