' 해시 할 수없는 유형 '의 의미는 무엇입니까? 파이썬 오류?


최상의 답변

먼저 해시 가능하고 불가능한 것이 무엇인지 이해합시다. 간단히 말해서, 값을 변경할 수없는 항목을 해시 할 수있는 항목과 값을 해시 할 수없는 것으로 변경할 수있는 객체라고합니다.

예를 들어 Python에서 모든 불변 객체는 해시 가능하고 변경 가능한 객체라고 할 수 있습니다. unhashable이라고 할 수 있습니다. 이러한 오류가 발생할 수있는 이유와 오류가 발생하는 이유를 예로 들어 보겠습니다.

예를 들어 사전에서 목록을 키로 사용하는 경우 수행 할 수 없으며 오류 TypeError : unhashable type.

이것은 목록을 해시 할 수없고 목록을 해시 인수로 사용하려고하기 때문입니다. 해시 할 수없는 객체를 해시하려고 할 때이 오류가 발생한다는 것을 의미합니다.이 문제를 해결하는 표준 방법은 목록을 튜플으로 캐스팅하는 것입니다.

튜플은 불변이므로 해시 할 수 있으므로 작동 할 수 있습니다.

Answer

dict = {a : 1}

창의 Python cmd에서 해시 할 수없는 유형 오류를 표시합니다.

파이썬에서 해시 할 수있는 의미는 절대로 값을 변경할 수 없다는 것입니다. 해시 할 수없는 것은 Hashable과 반대입니다. In Dictionary 값은 언제든지 업데이트 할 수 있지만 파이썬 인터프리터가 데이터 유형을 이해하면됩니다. 제 예에서 dict = {a : 1} (key = a, value = 1) a는 문자열 데이터 유형이지만 여기에 쓰여진 문자열 데이터 유형 규칙을 따르지 않습니다. e 따옴표로 묶는 문자. 따라서 인터프리터는이 데이터 유형 값이 해시 불가능 (변경 가능)하지만 데이터 유형이 잘못 이해되었다고 말했습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다