본문 바로가기
  • 시 쓰는 개발자
알고리즘/코테 스터디 (2024)

코테 문법정리 (4) - 딕셔너리{ } , 집합{ }

by poetDeveloper 2024. 3. 16.

딕셔너리

  • key : value 쌍으로 구성되는 자료형이다. 순서가 없기 때문에 인덱싱 불가능.
  • key에는 불변 데이터만 사용되지만, value에는 가변 데이터도 사용될 수 있다.
  • 딕셔너리는 내부적으로 "해시 테이블"을 사용해서 검색 및 수정에 O(1)만 걸린다.
  • 가변 객체이다. (가변 : 리스트, 셋, 딕셔너리 / 불변 : 문자열, 튜플, 수 자료형)

딕셔너리 메소드

  • keys() : key 데이터만 뽑아서 리스트로 이용할 때 사용
  • values() : value 데이터만 뽑아서 리스트로 이용할 때 사용
  • items() : key, value 한쌍을 리스트로 이용할 때 사용

https://100won-developer.tistory.com/entry/dictionary%EC%97%90%EC%84%9C-key-%EB%8B%A4%EB%A3%A8%EA%B8%B0

 

dictionary에서 key 다루기

dictionary에서 특정 key 찾기 : key in dict 딕셔너리에 특정한 key가 있는지 확인할 때 그냥 in 을 사용한다. 'a' in dict라고 하면 dict의 key들이랑 비교한다. 이때 return값은 True이거나 False이다. dictionary = {

100won-developer.tistory.com

 

집합

  • 집합은 기본적으로 리스트나 문자열을 이용해서 만들 수 있다.
  • 중복을 허용하지 않는다.
  • 순서가 없어서 인덱싱이 불가능하다.
  • 가변 객체이다. (가변 : 리스트, 셋, 딕셔너리 / 불변 : 문자열, 튜플, 수 자료형)
  • 특정 원소가 있는지 검사하는 연산 : 시간복잡도 O(1)
  • 특정한 데이터가 이미 등장한 적이 있는지 체크할 때 매우 효과적이다.

집합 초기화

set으로 묶어주거나 중괄호를 사용해서 초기화해준다.

data = set([1,2,3,4,5])

data = {1,2,3,4,5}

 

집합 연산

집합의 연산에는 합집합, 교집합, 차집합이 있다.

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

합집합 a | b  {0,1,2,3,4,5}
교집합 a & b  {2,3,4,5}
차집합 a - b  {1}

 

집합 함수

  • set.add(a) : 집합 데이터에 값 1개 추가 (시간복잡도 O(1))
  • set.update([a,b]) : 여러개의 값을 한꺼번에 추가
  • set.remove(a) : 특정 값 제거 (시간복잡도 O(1))