我有一本这样的字典:
dic={(0, 1): 0.059999999999999996,
(0, 5): 0.13157894736842105,
(0, 15): 0.23157894736842105,
(1, 0): 0.049999999999999996,
(5, 0): 0.13157894736842105,
(5, 15): 0.049999999999999996,
(15, 5): 0.23157894736842105}
我想求出向量第一个坐标中每个元素的最大值,以及向量第二个元素的最大值。
The output would be:
For 0 [First coordinate]: (0, 5): 0.13157894736842105
For 0 [Second coordinate]: (5, 0): 0.13157894736842105
For 1 [First coordinate]: (1,0) 0.049999999999999996
For 1 [Second coordinate]: (0,1) 0.059999999999999996
and so on.
我知道我可以用这个
max_keys = [k for k, v in dic.items() if v == max_value]
但我找不到正确的路。
3条答案
按热度按时间yws3nbqq1#
例如,对于0 [第一个坐标]:
但更好的方法是将其放入函数中:
对于0 [第一个坐标]:
对于0 [第二坐标]:
等等...
brccelvz2#
我不确定如何完全实现这些,但我认为这就是您所寻找的列表理解
例如:
如果你想要每个最大值的键和值,这是有点不同,但仍然是可行的。
disho6za3#
这个问题不太适合于有元组键的字典,你需要迭代并维护你自己的结果字典来保持每个索引键的最大值。
或者您可以使用第三方库,如Pandas,它保存结构化数据并使用连续内存块: