【发布时间】:2018-03-06 21:22:46
【问题描述】:
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。
【问题讨论】:
-
你自己尝试过什么吗?
-
您似乎希望我们为您编写一些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只会在发布者已经尝试自己解决问题时提供帮助。展示这种努力的一个好方法是添加Minimal, complete, verifiable example。在发帖前检查您应该完成的intro tour,尤其是How to Ask。
-
这个例子是假的,因为你说
A[1]的权重是0.6,但在你的字典里是0.3 -
一点也不,我正在简化问题并尝试自己做。我尝试使用列表来解决它。但我真的不确定这是正确的方法。
-
不,我打算分配它,因为我想仅根据 b 的值分配 inverse_weight
标签: python loops dictionary items