python 实现让字典的value 成为列表

  • Post category:Python

要让字典的value成为列表,需要对字典进行一定的转换。使用python可以通过以下两种方式实现:

1. dict()与zip()函数配合使用

dict()函数可以将由(key, value)元组组成的列表转换成字典,而zip()函数可以将多个可迭代对象合并为元组,从而创建一个元组的列表。将这两个函数组合起来,就可以将字典的键与值转换为元组,再通过list()函数将值由单个元素转换为列表,然后将元组转换为字典,代码如下所示:

original_dict = {'a': 1, 'b': 2, 'c': 3}
new_dict = dict(zip(original_dict.keys(), map(list, original_dict.values())))
print(new_dict)

输出:

{'a': [1], 'b': [2], 'c': [3]}

这里的map(list, original_dict.values())将原字典的值进行了转换,将单个元素转换为了一个列表元素,即将1转换为[1],而这个操作对于元组中的每个元素都进行了操作。然后通过zip()函数将字典中的键和值转化为元组,最后使用dict()函数将转换后的元组列表转换回字典。

2. 使用字典生成式

字典生成式可以很便捷地完成字典转换的操作。具体步骤为:遍历原字典的键值对,将原字典中的值转换为列表,然后将新的键值对存储到新的字典中,代码如下所示:

original_dict = {'a': 1, 'b': 2, 'c': 3}
new_dict = {k: [v] for k, v in original_dict.items()}
print(new_dict)

输出:

{'a': [1], 'b': [2], 'c': [3]}

字典生成式将原字典的键值对遍历出来,使用原字典的键作为新字典的键,将原字典的值转换为一个列表,作为新字典的值。

总的来说,这两种方法都是将字典的值转换为列表的操作,可以根据实际情况选择更加方便的方法来实现。