공부/python

[python파이썬] 집합과 딕셔너리

knhoo 2023. 5. 31. 05:26
728x90

집합 set

  • 순서와 중복 없이 데이터 값을 모을 수 있는 컬렉션 데이터 구조
  • 수정 가능함( 단, 모든 원소는 수정 불가능한 값만 가능)
  • 중괄호{}사이에 원소를 , 로 구분해서 나열
s.add(n) 집합s에 원소 n을 추가
s.remove(n) 집합s에서 원소 n을 제거 집합s에 원소 n이 없으면 KeyError 오류 발생
set() 빈 집합을 생성해서 리턴({}는 빈 딕셔너리)
set(iterable) iterable의 내용을 담은 집합을 생성해서 리턴 iterable은 시퀀스나 집합과 같이 반복 가능한 객체를 의미
s.update(iterable) 집합s에 iterable의 데이터를 추가

 

집합 메소드 연산자 의미
s1.union(s2) s1|s2 집합s1과 s2의 합집합을 리턴(s1과 s2의 내용은 바뀌지 않음)
s1.intersection s1 & s2 교집합을 리턴(s1과 s2의 내용은 바뀌지 않음)
s1.difference(s2) s1 - s2 차집합을 리턴(s1과 s2의 내용은 바뀌지 않음)
s1.symmetric_difference(s2) s1^s2 대칭차집합을 리턴(s1과 s2의 내용은 바뀌지 않음)

딕셔너리

  • 키와 값의 쌍을 모은것
  • 중괄호{} 사이에 키와 식을 만들어 다음과 같이 , 로 구분해서 나열
  • {<키> : <식>, … , <키> : <식>}
  • 시퀀스는 (저절로 매겨진) 정수 인덱스를 키로 사용하지만 딕셔너리는 자유자재로 키를 사용 가능
  • 수정불가능한 값만 <키>로 사용 가능(리스트나 집합 불가능)
  • (집합은 <식>없이 <키>로만 구성한 딕셔너리라고 볼 수 있음
종류 타입 설명  수정가능여부 기타
스칼라scalar int 정수 X  
float 실수 X 키로 사용할 경우, 실수 오차에 주의
NoneType none X  
bool 논리값 X  
시퀀스 list 리스트 O 키로 사용 불가능
str 문자열 X  
tuple 튜플 X 내부 값도 수정 불가능해야 키로 사용 가능
range w정수범위 X  
집합 set w집합 O 키로 사용 불가능
frozenset w집합 X 내부 값도 수정 불가능해야 키로 사용 가능
매핑 dict e딕셔너리 O 키로 사용 불가능
d.keys() 딕셔너리d의 키를 리스트로 모은 뷰 객체를 리턴
d.values() 딕셔너리d의 값을 리스트로 모은 뷰 객체를 리턴
d.items() 딕셔너리d의 아이템을 리스트로 모은 뷰 객체를 리턴 아이템은 키와 값의 튜플을 의미한다.

728x90