python 列表压缩成字典
时间: 2023-09-01 16:11:30 浏览: 44
可以使用 Python 中内置的 zip() 函数来将两个列表压缩成字典。假设有两个列表 keys 和 values,可以使用以下代码将它们压缩成字典:
```
keys = ['a', 'b', 'c']
values = [1, 2, 3]
my_dict = dict(zip(keys, values))
print(my_dict)
```
输出:
```
{'a': 1, 'b': 2, 'c': 3}
```
zip() 函数将 keys 和 values 列表中的对应元素(即第一个元素对应第一个元素,第二个元素对应第二个元素,以此类推)结合起来,然后将它们转换为字典。
相关问题
python字典通过值压缩
可以使用Python的字典推导式来实现通过值压缩字典。具体实现步骤如下:
1. 首先创建一个原始字典,其中包含需要压缩的键值对。
2. 使用字典推导式创建一个新字典,该字典的键是原始字典的值,值是原始字典的键。
3. 如果原始字典中存在多个键对应相同的值,那么在新字典中,这些键将被存储为一个列表。
下面是一个示例代码,演示如何通过值压缩Python字典:
```
# 创建原始字典
original_dict = {'a': 1, 'b': 2, 'c': 1, 'd': 3, 'e': 2}
# 使用字典推导式创建压缩字典
compressed_dict = {value: [key for key in original_dict.keys() if original_dict[key] == value] for value in set(original_dict.values())}
# 输出压缩字典
print(compressed_dict)
```
输出结果为:
```
{1: ['a', 'c'], 2: ['b', 'e'], 3: ['d']}
```
可以看到,原始字典中值为1的键'a'和'c'被压缩为列表['a', 'c'],同样地,值为2的键'b'和'e'被压缩为列表['b', 'e'],值为3的键'd'被压缩为列表['d']。
python 将列表转换为字典
可以使用 `dict()` 函数将列表转换为字典。假设列表中的元素都是二元组(元组包含两个元素),其中第一个元素作为键,第二个元素作为值,示例如下:
```python
my_list = [('apple', 1), ('banana', 2), ('orange', 3)]
my_dict = dict(my_list)
print(my_dict)
```
输出结果为:
```
{'apple': 1, 'banana': 2, 'orange': 3}
```
如果列表中的元素不是二元组,也可以使用 `zip()` 函数将两个列表压缩在一起,再利用 `dict()` 函数将其转换为字典,示例如下:
```python
keys = ['apple', 'banana', 'orange']
values = [1, 2, 3]
my_dict = dict(zip(keys, values))
print(my_dict)
```
输出结果与上面的示例相同:
```
{'apple': 1, 'banana': 2, 'orange': 3}
```