python实现字典键值(字典中嵌套了列表)互换
时间: 2023-12-02 22:03:32 浏览: 91
python实现字典嵌套列表取值
可以使用列表推导式来实现字典键值互换,同时使用内置函数 `zip()` 将原字典的键和值两两配对:
```python
my_dict = {'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]}
new_dict = {value: key for key, values in my_dict.items() for value in values}
print(new_dict)
```
输出结果为:
```
{1: 'a', 2: 'a', 3: 'a', 4: 'b', 5: 'b', 6: 'b', 7: 'c', 8: 'c', 9: 'c'}
```
注意,上述代码将原字典的值列表中的每个元素都作为新字典的键,可能会产生重复的键。如果需要保证键的唯一性,可以使用集合来去重:
```python
my_dict = {'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]}
new_dict = {value: key for key, values in my_dict.items() for value in set(values)}
print(new_dict)
```
输出结果为:
```
{1: 'a', 2: 'a', 3: 'a', 4: 'b', 5: 'b', 6: 'b', 7: 'c', 8: 'c', 9: 'c'}
```
阅读全文