Python将值从dicts转换为元组

时间:2010-07-08 09:12:52

标签: python dictionary tuples

我有一个字典列表,如下所示:

[{'id':1,'name':'Foo'},{'id':2,'name':'Bar'}]

我想将每个字典中的值转换为这样的元组列表:

[(1,'Foo'),(2,'Bar')]

我该怎么做?

3 个答案:

答案 0 :(得分:18)

>>> l = [{'id':1,'name':'Foo'},{'id':2,'name':'Bar'}]
>>> [tuple(d.values()) for d in l]
[(1, 'Foo'), (2, 'Bar')]

答案 1 :(得分:11)

请注意,SilentGhost的答案中的方法并不能保证每个元组的顺序,因为字典及其{{​​1}}没有固有的顺序。因此,在一般情况下,您也可以将values()作为('Foo', 1)

如果这是不可接受的,你肯定首先需要(1, 'Foo'),那么你必须明确地这样做:

id

答案 2 :(得分:2)

这将始终在定义的order

中将字典转换为元组

d = {'x': 1 , 'y':2} order = ['y','x'] tuple([d[field] for field in order])