Python - 将列表转换为字典
Python - convert list to dict
我有以下列表:
l = [('Alice',12),('Bob',10),('Celine',11)]
我想要得到以下内容 dict
(正如下面评论中正确指出的那样,这不是字典。实际上,我只想要一个字典列表):
[
{'name':'Alice','age':12},
{'name':'Bob','age':10},
{'name':'Celine','age':11}
]
有什么方法可以使用 dict comprehension
来实现这个目标吗?
您可以通过这种方式创建词典列表
d = [{'name': x[0], 'age': x[1]} for x in l]
你的例子有一个set/dictionary?字典 这实际上是不可能的,因为字典不能被散列,因此可以在集合中使用或用作字典键。
这将是一个字典列表,因为每个条目都必须有一个键才能使整个事物成为字典。
您可以像这样在列表理解中使用字典来创建一个:
[{'name': name, 'age': age} for name, age in l]
另请注意,虽然字典本身是无序的,但此字典列表将保留列表的顺序 l
。
你可以创建一个函数来做到这一点
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
中测试
我有以下列表:
l = [('Alice',12),('Bob',10),('Celine',11)]
我想要得到以下内容 dict
(正如下面评论中正确指出的那样,这不是字典。实际上,我只想要一个字典列表):
[
{'name':'Alice','age':12},
{'name':'Bob','age':10},
{'name':'Celine','age':11}
]
有什么方法可以使用 dict comprehension
来实现这个目标吗?
您可以通过这种方式创建词典列表
d = [{'name': x[0], 'age': x[1]} for x in l]
你的例子有一个set/dictionary?字典 这实际上是不可能的,因为字典不能被散列,因此可以在集合中使用或用作字典键。
这将是一个字典列表,因为每个条目都必须有一个键才能使整个事物成为字典。
您可以像这样在列表理解中使用字典来创建一个:
[{'name': name, 'age': age} for name, age in l]
另请注意,虽然字典本身是无序的,但此字典列表将保留列表的顺序 l
。
你可以创建一个函数来做到这一点
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
中测试