使用列表值反轉字典
反轉字典涉及創建一個新字典,其中交換原始字典的鍵和值。當原始字典包含列表值時,由於 Python 無法對列表進行雜湊處理,因此會帶來挑戰。
使用元組作為元組鍵
解決此問題的一種方法是將列表值轉換為元組。元組是不可變的並且可以進行雜湊處理,從而允許它們充當字典中的鍵。
考慮以下程式碼:
<code class="python">inverted_index = {} for key, values in index.items(): for value in values: tuple_key = (key, value) inverted_index.setdefault(tuple_key, []).append(key)</code>
此程式碼為每個唯一的組合建立一個新鍵原始鍵和值。然後用反轉的鍵值對填入 inverted_index 字典。
使用集合作為唯一值
或者,您可以使用集合來處理反轉中的重複值字典。集合是唯一元素的無序集合。
<code class="python">inverted_index = {} for key, values in index.items(): unique_values = set(values) for value in unique_values: inverted_index.setdefault(value, set()).add(key)</code>
此程式碼為每個原始鍵建立一組唯一值。然後用反向鍵值對填入 inverted_index 字典,其中值是唯一原始鍵的集合。
以上是如何用列表值反轉字典?的詳細內容。更多資訊請關注PHP中文網其他相關文章!