在Python中将列表转换为字典

3
我该如何将列表转换?
my_list = ["a", "b", "c"]

转换为字典
my_dict = {
    1: "a",
    2: "b",
    3: "c"
}

键应该就是索引+1,正如我的示例一样。

6
这行代码的作用是将一个名为"my_list"的列表转换成一个字典"di",其中字典的键从1开始递增,对应着列表中的元素。 - mohan3d
3
那你尝试了什么? - hyades
1
@mohan3d:评论可以作为提示,但回答应该在实际回答中,而不是在评论中。正如您可以在下面看到的那样,即使是简单的答案也可以赚取您很多分数。 - PM 2Ring
@PM2Ring,我不在乎积分,只是想帮助别人。 - mohan3d
3
@mohan3d:当然,但是即使答案对你来说似乎很琐碎,将答案放在它们应该出现的地方可以帮助更多的人。请参考 http://meta.stackoverflow.com/q/253045/4014959 和相关问题以了解更多信息。 - PM 2Ring
如果您希望进一步讨论,请来SO Python Chatroom - PM 2Ring
2个回答

19

一个简单的解决方案是:

dict(enumerate(my_list, 1))
例如:
>>> dict(enumerate(["a", "b", "c"], 1))
{1: 'a', 2: 'b', 3: 'c'}

6

选择 enumerate

enumerate() 函数可以为可迭代对象添加计数器。

简单示例:

for i, v in enumerate(my_list):
    print i, v

默认情况下,enumerate()0开始计数,但如果你给它第二个整数参数,它将从该数字开始:

for i, v in enumerate(my_list, start=1):
    print i, v

针对您的情况:

>>> dict(enumerate(your_list, start=1))
{1: 'your_list_value1', 2: 'your_list_value2'}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接