[Python] 딕셔너리, 집합 자료형

1. 딕셔너리

1-1 주의사항

  • key값은 고유한 값이므로, 중복 불가
  • 변하는 값은 key값으로 사용 불가 (튜플은 가능, 리스트는 불가)

1-2 딕셔너리 관련 함수

a.keys() 딕셔너리 a의 key만을 모아 dict_keys 객체 반환
**list(a.keys()) key값들을 리스트로 반환

a.values() 딕셔너리 a의 value만을 모아 dict_values 객체 반환
a.items() 딕셔너리 a의 key와 value의 쌍을 튜플로 묶어 dict_items 객체 반환
a.clear() 딕셔너리 a 내 모든 요소 삭제
a.get(b) 딕셔너리 a 내 key b의 value 반환

>>> a = {'name': 'sayho', 'age': '5'}

# 찾고자 하는 key가 존재하지 않을 경우
>>> print(a.get('color')) 
None
>>> print(a['color'])
error

# 찾고자 하는 key가 존재하지 않을 경우, 정해둔 디폴트 값 가져오기
>>> print(a.get('foo', 'bar')) #'foo'에 매치되는 디폴트 value는 'bar'
'bar'

2. 집합

2-1 개념

>>> s1 = set([1, 2, 3]) #리스트 입력
>>> print(s1)
{1, 2, 3}

>>> s2 = set(["Hello"]) #문자열 입력
>>> print(s2)
{'e', 'H', 'l', 'o'}

2-2 특징

  • 중복 허용 X > 자료의 중복 제거 위한 필터 역할로 사용됨
  • 순서가 없음 (Unordered) > 인덱싱 사용 불가

2-3 교집합, 합집합, 차집합

>>> s1 = set([1, 2, 3, 4, 5, 6])
>>> s2 = set([4, 5, 6, 7, 8, 9])

#교집합
>>> s1.intersection(s2) #s2.intersection(s1)과 동일
{4, 5, 6}

#합집합
>>> s1 | s2
{1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> s1.union(s2) #s2.union(s1)과 동일
{1, 2, 3, 4, 5, 6, 7, 8, 9}

#차집합
>>> s1 - s2 #s1.difference(s2)과 동일
{1, 2, 3}
>>> s2 - s1 #s2.difference(s1)과 동일
{8, 9, 7}

2-4 집합 자료형 관련 함수

s1.add(a) s1에 값 a 추가
s1.update(a) s1에 값 여러개 추가
s1.remove(a) s1에서 특정 값 a 삭제


아래 내용을 바탕으로 정리한 것이다.

점프투파이썬 (https://wikidocs.net/16)

좋은 웹페이지 즐겨찾기