【发布时间】:2013-08-18 04:03:24
【问题描述】:
我想获取一个字典列表并以特定格式创建一个新的排列列表。
例如,我在下面有一个包含字典的列表。我想以特定格式使用这些项目创建所有可能的列表: (例如result=[A类型的dict,B类型的dict,B类型的dict,C类型的dict,C类型的dict,D类型的dict,E类型的dict,F类型的dict])其中两项B 类的项不能相等,C 类的两项不能相等。我将处理大量项目,因此有关如何更有效地处理排列的任何提示都会有所帮助。
{'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}
]}
【问题讨论】:
-
也许这样的事情会有所帮助? docs.scipy.org/doc/numpy/reference/generated/…
-
你能举一个更好的例子来说明你希望它是什么样子吗?
{"A": [{"Name": "name10", {"measure1" :"20"}, {"Name": "name20", {"measure1" :"30"}]}之类的东西? -
我不明白排列的来源。您只是删除/合并重复项吗?
-
我想看到一个结果,它将是许多集合的 dicts 列表:[[{'Name':'name10','Type':'A','measure1': 20,'measure2':20},{'Name':'name30','Type':'B','measure1':15,'measure2':40},{'Name':'name50','Type ':'B','measure1':25,'measure2':60},{'Name':'name60','Type':'C','measure1':15,'measure2':70},{ 'Name':'name80','Type':'C','measure1':25,'measure2':90},{'Name':'name85','Type':'D','measure1': 15,'measure2':30},{'Name':'name65','Type':'E','measure1':10,'measure2':30},{'Name':'name45','Type ':'F','measure1':10,'measure2':20}] 等...]
-
@roippi 当我想到按特定顺序创建一组项目的所有可能组合时,我想到了排列。这就是我想做的,但要过滤掉重复对象的集合。
标签: python python-2.7 permutation cartesian-product