我有以下元组对象列表:
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的第一个元素作为字典键。
有人可以建议我使用代码片段,了解如何执行此操作吗?
修改
很抱歉,它是两个元素集对象的列表(而不是元组对象列表)。
答案 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]