A = {0:{'a':1,'b':7, 'weight':0.6},
1:{'a':5,'b':5, 'weight':0.3},
2:{'a':4,'b':6, 'weight':0.1}}
我想根据值b
的逆序将inverse_weight
分配给每个子字典
这些b值的顺序是
A[1]['b'] < A[2]['b'] < A[0]['b']
5 < 6 < 7
它们的重量分别是
0.6 0.3 0.1
因此,我需要反转它们的重量:
0.1 0.3 0.6
期望的A应该是
A = {0:{'a':1,'b':7, 'weight':0.6, 'inverse_weight':0.1},
1:{'a':5,'b':5, 'weight':0.3, 'inverse_weight':0.6},
2:{'a':4,'b':6, 'weight':0.1, 'inverse_weight':0.3}}
我不知道如何对这些b
进行排序,并反向应用于inverse_weight
。你知道吗
您当前列出的欲望权重不正确,因为
[1, 2, 0]
的权重应该是[0.3, 0.1, 0.6]
。但是,当使用上面列出的正确权重时,可以使用下面的代码来获得结果:输出:
方法
(A[id]['b'], id)
代码
示例:
对于数据:
这将提供:
NB:
你在问题中给出的例子是不正确的,因为你说
A[1]
的权重是0.6,但它是0.3。你知道吗看起来是在一个方法中使用
zip
、sorted
和reversed
的好借口。你知道吗相关问题 更多 >
编程相关推荐