Skip to main content
 首页 » 编程设计

Python:将列表转换为字典,其中键是列表元素的索引

2025年05月04日14bjzhanghao

我有一个list,我想将它转换成字典dict,其中元素的键是列表中元素的位置:

>>> list_ = ['a', 'b', 'c', 'd'] 
>>> # I want the above list to be converted to a dict as shown below 
... 
>>> list_to_dict = {1: 'a',2: 'b', 3: 'c',4: 'd'} 

我知道这很简单,但是有很多方法如下:

>>> {index+1: item for index, item in enumerate(list_)} 
{1: 'a', 2: 'b', 3: 'c', 4: 'd'} 

我完全不明白 collections.defaultdict 是如何工作的,我们可以用它来实现上述目标吗?或者其他更有效的方法?

请您参考如下方法:

defaultdict() 生成默认值,您生成的是键,因此它不会在这里帮助您。

使用enumerate() 是最好的方法;您可以将其简化为:

dict(enumerate(list_, 1)) 

enumerate() 的第二个参数是起始值;将其设置为 1 就无需自己增加计数。 dict() 可以直接使用(index, value) 对。