반응형
Python 2.6 인터프리터에서 테스트되었습니다.
>>> a=set('abcde')
>>> a
set(['a', 'c', 'b', 'e', 'd'])
>>> l=['f','g']
>>> l
['f', 'g']
>>> a.add(l)
Traceback (most recent call last):
File "<pyshell#35>", line 1, in <module>
a.add(l)
TypeError: list objects are unhashable
같은 목록을 두 번 추가했는지 파이썬이 알 수있는 방법이 없기 때문에 목록을 세트에 추가 할 수 없다고 생각합니다. 해결 방법이 있습니까?
수정 : 요소가 아닌 목록 자체를 추가하고 싶습니다.
해결 방법
목록은 변경 가능하므로 목록을 집합에 추가 할 수 없습니다. 즉, 목록을 집합에 추가 한 후 목록의 내용을 변경할 수 있습니다.
그러나 튜플의 내용을 변경할 수 없기 때문에 세트에 튜플을 추가 할 수 있습니다.
>>> a.add(('f', 'g'))
>>> print a
set(['a', 'c', 'b', 'e', 'd', ('f', 'g')])
몇 가지 사실 :
참조 페이지 https://stackoverflow.com/questions/1306631
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python CSV - list index out of range (0) | 2021.02.03 |
---|---|
파이썬 Python을 사용하여 정수를 반대로하고 회문인지 확인 (0) | 2021.02.03 |
파이썬 Python __str__ 대 __unicode__ (0) | 2021.02.03 |
파이썬 목록에서 상위 N 개 값의 인덱스 가져 오기 (0) | 2021.02.03 |
파이썬 How does condensed distance matrix work? (pdist) (0) | 2021.02.02 |
댓글