如何从元组对象列表中获取字典对象?

时间:2014-04-22 04:31:18

标签: python dictionary

我有以下元组对象列表:

z = [set([33, u'11:22:33:44:55:ff']), set([12, u'11:22:33:44:54:ce'])]

我希望有以下字典对象列表:

d = [{33:'11:22:33:44:55:ff'},{12,'11:22:33:44:54:ce'}]

请参阅 - 我想使用set的第一个元素作为字典键

有人可以建议我使用代码片段,了解如何执行此操作吗?

修改

很抱歉,它是两个元素集对象的列表(而不是元组对象列表)。

2 个答案:

答案 0 :(得分:4)

集合是无序的。该集合中没有“第一”元素。

你必须对它们强制执行一些排序 - 检查类型是否有效:

dict(sorted(x,key=lambda k:isinstance(k,int),reverse=True) for x in z)
Out[33]: {12: u'11:22:33:44:54:ce', 33: u'11:22:33:44:55:ff'}

答案 1 :(得分:1)

您有一组集合,而不是元组列表。如果您要使用元组,则列表z应为:

z = [tuple([33, u'11:22:33:44:55:ff']), tuple([12, u'11:22:33:44:54:ce'])]

然后以下代码应该起作用

d = dict()
for item in z:
    d[item[0]] = item[1]