编辑-更新问题:
为了更详细地阐述我的问题,我在test1Res中添加了更多细节:
我有一个名为test1Res的字典,它将一些产品名作为字典的“键”,并将该产品的测试结果作为键的值。你知道吗
执行了6个测试(6个标准),因此字典中的每个“值”都是6个整数的列表。你知道吗
test1Res = {'Wrap': [3,7,13,142,16,193], 'Baby':[3,29,16,146,16,110], 'Goon':[3,7,22,41,88,65],'Marz':[3,9,14,8,56,0],'Adax':[2,2,28,13,79,39]}
我想把字典分类如下:
字典应按其“值”的降序排列-6个整数的列表:
订单号:
test1Res = {'Wrap': [3,7,13,142,16,193], 'Baby':[3,29,16,146,16,110], 'Goon':[3,7,22,41,88,65],'Marz':[3,9,14,8,56,0],'Adax':[2,2,28,13,79,39]}
(与输入相同。)(考虑值的每0个元素执行排序。)
订单号:
test1Res = {'Baby':[3,29,16,146,16,110], 'Marz':[3,9,14,8,56,0], 'Wrap': [3,7,13,142,16,193], 'Goon':[3,7,22,41,88,65], 'Adax':[2,2,28,13,79,39]}
请注意,现在“Wrap”、“Baby”、“Goon”和“Marz”已根据第2点进行了排序。考虑列表的每个第一个位置元素执行排序,其第0个元素相似。 现在,由于'Wrap'和'Goon'的第一个元素是相似的,所以在接下来的步骤中,应该只根据第二个元素对这两个键值对进行排序。你知道吗
最终输出:
test1Res = { 'Baby':[3,29,16,146,16,110], 'Marz':[3,9,14,8,56,0], 'Goon':[3,7,22,41,88,65], 'Wrap': [3,7,13,142,16,193], 'Adax':[2,2,28,13,79,39]}
到目前为止,我已经尝试了许多方法,但只能排序到第2步,这也是通过蛮力。(O(n^3)),由于时间复杂性,这是不可接受的。)
忽略任何语法错误。你知道吗
原始问题:
我有一些产品和实验室测试结果存储在一个列表中,并作为一个完整的dict,如下所示:
test1Res = {'Goon':[3,7,22,41,88,65],'Marz':[3,9,14,8,56,0],'Adax':[2,2,28,13,79,39]}
list的每个值表示一个特定测试的结果,比如test[a,b,c,d,e,f,g]
。所以,对于“Goon”,测试a
的结果是3,依此类推。你知道吗
我要做的是对测试1进行排序,以便:
输出应该类似于:
test1Res = {'Marz':[3,9,14,8,56,0],'Goon':[3,7,22,41,88,65],'Adax':[2,2,28,13,79,39]}
在这里,它首先应该在每个键的列表中查找第0个元素。如果它是相似的,那么它只应该查找列表中的第二个元素,然后是第三个,然后是第四个,直到最后一个。你知道吗
dict
只保证在cpython3.6及更高版本中保持插入顺序,因此最好使用OrderedDict:印刷品:
如果不希望导入^{} 模块:
结果:
您可以对值进行排序,并按新顺序创建新词典:
您提供了两个不同的词典,下面是第二个词典的结果:
相关问题 更多 >
编程相关推荐