반응형
리스트의 Key와 마찬가지로, 집합의 원소도 '불변'인 타입만 사용이 가능합니다. 자료형인 숫자형,문자열,논리형은 모두 집합의 원소로 사용할 수 있습니다. 숫자형과 논리형은 원소를 수정하거나 삭제한다는 개념 자체가 없고, 문자열은 수정삭제가 불가능한 불변형입니다. 예를 들면 아래와 같습니다.
>>> set1={5,3+10j,'hi',True}
>>> set1
{(3+10j), 'hi', 5, True}
반면 모든 자료형을 집합의 원소로 사용가능하지는 않습니다. 리스트, 튜플, 딕셔너리를 가지고 테스트해봅시다.
리스트입니다. 에러가 발생합니다.
>>> setL={[1,2]}
Traceback (most recent call last):
File "<pyshell#185>", line 1, in <module>
setL={[1,2]}
TypeError: unhashable type: 'list'
튜플입니다. 에러가 발생하지 않습니다.
>>> setT={(1,2)}
>>> setT
{(1, 2)}
딕셔너리입니다. 에러가 발생합니다.
>>> setD={{1:3}}
Traceback (most recent call last):
File "<pyshell#188>", line 1, in <module>
setL={{1:3}}
TypeError: unhashable type: 'dict'
집합의 원소로 튜플은 가능하고 리스트와 딕셔너리는 안됩니다. 튜플만 불변이기 때문입니다.
반응형
'파이썬 > 통계분석' 카테고리의 다른 글
[파이썬 강의] 31. 집합의 원소 제거하는 법 (0) | 2021.10.07 |
---|---|
[파이썬 강의] 30. 집합에 원소 추가하는 법 (0) | 2021.10.07 |
[파이썬 강의] 28. 자료구조 - 집합 (0) | 2021.10.07 |
[파이썬 강의] 27. 딕셔너리에서 key 또는 value만 추출해서 list로 변환 (0) | 2021.10.07 |
[파이썬 강의] 26. 딕셔너리 key와 value의 수정 (0) | 2021.10.07 |
댓글