首页 >后端开发 >Python教程 >如何用列表值反转字典?

如何用列表值反转字典?

Susan Sarandon
Susan Sarandon原创
2024-10-29 18:55:021061浏览

How to Reverse a Dictionary with List Values?

使用列表值反转字典

反转字典涉及创建一个新字典,其中交换原始字典的键和值。当原始字典包含列表值时,由于 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn