이 게시물에서 우리는TypeError: unhashable type: 'list'
에 대해 볼 것입니다.
dictionary
또는set
에list
를 키로 넣으려고 할 때 이 오류가 발생합니다.TypeError: unhashable type
은 해시 할 수없는 객체를 해시하려고 할 때 일반적으로 발생합니다.
예제를 통해 살펴 보겠습니다.:
파이썬
1
2
3
4
|
이 문제를 해결하는 방법은 다음과 같습니다.)
|
출력:
목록을 튜플로 캐스팅하여 이 문제를 해결할 수 있습니다. 튜플은 불변의 객체이기 때문에,그것은 사전에 키로 사용할 수 있습니다.
파이썬
1
2
3
4
|
이 경우 두 개의 튜플을 사용하여 두 개의 튜플을 만들 수 있습니다.)
|
산출:
{1: ‘하나’,(2,10):’두’}
당신이 볼 수 있듯이,우리는 튜플()기능을 사용하면,프로그램이 잘 작동.
의 세트와 다른 예를 보자.
파이썬
1
2
3
4
|
1 세트={,}
인쇄(세트 1)
|
출력:
목록을 튜플로 캐스팅하여 이 문제를 해결할 수 있습니다. tuple
은 불변의 객체이므로 사전에서 키로 사용할 수 있습니다.
파이썬
1
2
3
4
|
튜플을 사용하는 방법은 다음과 같습니다.)
|
산출:
{(1, 2), (3, 4)}
당신이 볼 수 있듯이,일단 우리가tuple()
기능을 사용하면 프로그램이 정상적으로 작동했습니다.
해시 가능 객체란?
해싱은 데이터를 고정 크기 지능 값으로 인코딩하는 방법입니다. 그것은 일반적으로 고성능 자료 구조를 디자인하기 위하여 이용됩니다.
해쉬체에서 Python
int | float | 소수 | bool | 문자열 | 튜플 | 복잡한 | 범위 | frozenset | 바이트 |
비 편집기입체에서 Python
list | 설정 | dict | 찬가지로 해당 | 사용자 지정 클래스 |
는 모든 TypeError:unhashable 형식:목록”.