목록 값을 사용하여 사전 반전: 솔루션
이 문서에서는 목록 값을 사용하여 사전을 반전시키는 문제를 살펴봅니다. 키가 파일 이름이고 값이 해당 파일에 나타나는 단어 목록인 인덱스 사전이 주어지면 단어가 키이고 값이 파일 이름 목록인 역 사전을 만드는 것이 목표입니다.
제공되는 반전 함수 invert_dict, "TypeError: unhashable type: 'list'"와 함께 실패하므로 목록 값을 키로 사용하는 사전에는 적용할 수 없습니다. 이러한 제한은 사전의 키가 해시 가능해야 하고 목록은 해시 가능하지 않다는 사실에서 비롯됩니다.
이 장애물을 극복하기 위해 원래 사전을 반복하고 setdefault를 사용하여 새 사전을 생성하는 사용자 지정 접근 방식을 활용할 수 있습니다. . 특히 원래 사전에 있는 각 키의 값 목록을 반복하고 해당 키를 새 역 사전에 있는 해당 단어의 값으로 추가합니다.
다음은 이 접근 방식의 구현 예입니다.
<code class="python">inverse = {} for k,v in index.items(): for x in v: inverse.setdefault(x, []).append(k)</code>
이 솔루션은 반전된 사전에 키가 없는 경우 setdefault 메서드를 사용하여 새 목록을 생성하거나 키가 이미 있는 경우 기존 목록에 추가하여 원래 사전의 목록 값을 처리합니다.
결과적으로 단어가 키이고 값이 파일 이름 목록인 역사전을 얻습니다.
위 내용은 목록 값을 사용하여 사전을 어떻게 반전할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!