我有2个列表,一个包含到特定点的距离,另一个包含在二维空间中分配不同值的方法。另一个列表包含以相同顺序映射到这两个列表的属性。
例如list1 = [a, b, c, d]
list2 = [10, 12, 45, 10]
- >每个与特定点的距离
list3 = [12.5, 17.5, 1.87, 34.4]
- >与a,b,c和d中的每一个有关的值的平均值。
我希望基于list2中的最小距离和列表3中的最高均值返回list1的最佳值。但我不希望根据任何优先级对它们进行排序(列表1首先然后是2或副本反之亦然)。我希望将最佳值作为列表2和列表3中值的组合返回。对列表进行排序并不是这样做的方法。我尝试将值标准化并添加它们,但我不知道这是否是正确的方法。返回相关列表索引的最佳方法是什么?
答案 0 :(得分:0)
您可以将三个列表压缩到一个元组列表中,然后使用每个元组的第一个元素作为键来检索最大元组:
larges = max(zip(list1, list2, list3), key=lambda x:x[0])
#('d', 10, 34.4)