我有一个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) 对。
