Python - 将列表转换为dict

时间:2016-06-22 23:06:23

标签: python list python-2.7 dictionary dict-comprehension

我有以下列表:

l = [('Alice',12),('Bob',10),('Celine',11)]

我想得到以下dict(正如下面评论中正确指出的那样,这不是一个词典。实际上,我只想要一个词典列表):

[
    {'name':'Alice','age':12},
    {'name':'Bob','age':10},
    {'name':'Celine','age':11}
]

我有没有办法dict comprehension来实现这个目标?

3 个答案:

答案 0 :(得分:4)

您可以通过这种方式创建词典

:class_name

你的例子有一个集/字典?字典这是不可能的,因为字典无法进行哈希处理,因此可以在集合中使用或作为字典键使用。

答案 1 :(得分:3)

这将是一个字典列表,因为每个条目都必须有一个键才能使整个字体成为字典。

你可以在列表理解中使用字典制作一个字典:

[{'name': name, 'age': age} for name, age in l]

另请注意,虽然词典本身是无序的,但这个词典列表将保留列表l的顺序。

答案 2 :(得分:2)

你可以做一个功能

def list2dict(list_):
    changed=[{'name':i[0],'age':i[1]} for i in list_]
    return changed

然后打电话

l=[('Alice',12) , ('Bob',10) , ('Celine',11)]
d=list2dict(l)

在python 3.4.4中测试

相关问题