首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建字典列表的置换

创建字典列表的置换
EN

Stack Overflow用户
提问于 2013-08-15 20:51:40
回答 1查看 110关注 0票数 0

我想取一个字典列表,并以特定格式创建一个新的排列列表。

例如,我在下面列出了一些字典。我想以一种特定的格式使用这些项目创建所有可能的列表:(例如A型的result=dict,B型的dict,B型的dict,C型的dict,C型的dict,D型的dict,E型的dict,F型的dict ),其中B型的两项不能相等,C型的两项不能相等。我将处理大量的项目,所以关于如何更有效地处理排列的任何提示都将是有帮助的。

代码语言:javascript
运行
复制
{'Items':[
{'Name':'name10','Type':'A','measure1':20,'measure2':20},
{'Name':'name20','Type':'A','measure1':25,'measure2':30},
{'Name':'name30','Type':'B','measure1':15,'measure2':40},
{'Name':'name40','Type':'B','measure1':20,'measure2':50},
{'Name':'name50','Type':'B','measure1':25,'measure2':60},
{'Name':'name60','Type':'C','measure1':15,'measure2':70},
{'Name':'name70','Type':'C','measure1':20,'measure2':80},
{'Name':'name80','Type':'C','measure1':25,'measure2':90},
{'Name':'name90','Type':'D','measure1':10,'measure2':30},
{'Name':'name85','Type':'D','measure1':15,'measure2':30},
{'Name':'name75','Type':'E','measure1':53,'measure2':30},
{'Name':'name65','Type':'E','measure1':10,'measure2':30},
{'Name':'name55','Type':'F','measure1':56,'measure2':10},
{'Name':'name45','Type':'F','measure1':10,'measure2':20}
]}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-15 21:17:08

假设您的条目字典位于变量x

代码语言:javascript
运行
复制
x_set = set((i['Name'], i['Type'], i['measure1'], i['measure2']) for i in x['Items'])
items = [{'Name': i[0], 'Type': i[1], 'measure1': i[2], 'measure2': i[3]} for i in sorted(x_set)]
new_x = {'Items': items}

简单地使用字典的set()是很好的,但是在Python中是不可能的。字典必须解压成元组,然后重新包装成字典。

若要处理大型项目集,请考虑根据名称或类型将它们分解为“碎片”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18261607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档