TypeError: Unhashable Type: Python의 슬라이스

Manav Narula 2023년6월21일
  1. Python에서 TypeError: unhashable type: 'slice'
  2. Python에서 TypeError: unhashable type: 'slice' 수정
  3. 결론
TypeError: Unhashable Type: Python의 슬라이스

슬라이싱은 Python에서 매우 일반적인 기술입니다. 요소의 인덱스를 사용하여 문자열, 목록, 튜플 등과 같은 주어진 시퀀스에서 데이터를 추출할 수 있습니다.

슬라이싱의 매우 간단한 예는 다음과 같습니다.

lst = [2, 5, 6, 7, 3, 1]
print(lst[0:2])

출력:

[2, 5]

위의 예는 슬라이싱 기법을 사용하여 목록의 일부를 추출합니다. 인덱스 사용에 유의하십시오.

Python에서 TypeError: unhashable type: 'slice'

주어진 데이터 유형에 대해 지원되지 않는 작업을 수행하려고 하면 Python에서 TypeError가 발생합니다. 사전, DataFrame 등과 같이 지원되지 않는 데이터 유형에 이 기술을 사용하려고 하면 슬라이싱 중에 TypeError가 발생할 수도 있습니다.

예를 들어:

d = {"a": 10, "b": 11}
d[0:2]

출력:

TypeError: unhashable type: 'slice'

위의 예에서 발생한 해시할 수 없는 유형: '슬라이스' 오류에 유의하십시오.

사전은 해싱 함수를 사용하여 해당 키를 사용하여 값을 찾습니다. 값의 인덱스를 저장하지 않습니다.

여기서 해시 불가능은 슬라이싱 작업이 해시 가능하지 않고 사전에서 작동하지 않음을 의미합니다.

이 튜토리얼은 Python의 unhashable type: 'slice' 오류를 해결하는 방법을 보여줍니다.

Python에서 TypeError: unhashable type: 'slice' 수정

가장 기본적인 수정은 슬라이싱을 지원하는 시퀀스를 사용하는 것입니다. 여기에는 목록, 문자열, 사전, 튜플 및 기타 지원되는 시퀀스가 포함됩니다.

슬라이싱을 지원하지 않는 사전을 목록으로 변환하고 이 오류를 수정할 수 있습니다.

사전의 경우 values()keys()를 사용하여 사전에 있는 값 및 키의 보기 개체를 가져올 수 있습니다. 이 객체는 list() 함수를 사용하여 슬라이싱을 지원하는 목록으로 변환할 수 있습니다.

아래 코드를 참조하십시오.

d = {"a": 10, "b": 11}
print(list(d.values())[0:2])
print(list(d.keys())[0:2])

출력:

[10, 11]
['a', 'b']

위의 예는 사전을 키와 값의 두 목록으로 변환합니다. 이 목록에서 슬라이싱을 수행합니다.

items() 함수를 사용하여 튜플 목록에서 키와 값 쌍의 뷰 객체를 반환할 수도 있습니다.

아래 코드를 참조하십시오.

d = {"a": 10, "b": 11}
print(list(d.items())[0:2])

출력:

[('a', 10), ('b', 11)]

결론

이 튜토리얼은 Python의 unhashable type: 'slice' 오류와 이를 수정하는 방법을 보여줍니다. 먼저 Python의 슬라이싱 기술에 대해 논의했습니다.

우리는 사전과 사전이 이 기술을 지원하지 않는 이유를 설명했습니다. 수정에는 items(), keys()values()와 같은 다양한 기능을 사용하여 사전을 사용하여 목록을 생성할 수 있으며, 이는 슬라이싱에 추가로 사용할 수 있습니다.

작가: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

관련 문장 - Python Error