【问题标题】:Find the best value in list on the basis of 2 parameters根据 2 个参数在列表中找到最佳值
【发布时间】:2017-09-15 03:30:21
【问题描述】:

我有 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 中的值的组合返回。对列表进行排序不是这样做的方法。我尝试规范化这些值并添加它们,但我不知道这是否是正确的方法。返回相关列表索引的最佳方式是什么?

【问题讨论】:

    标签: python normalization


    【解决方案1】:

    您可以将三个列表压缩成一个元组列表,然后使用每个元组的第一个元素作为键检索最大元组:

    larges = max(zip(list1, list2, list3), key=lambda x:x[0])
    #('d', 10, 34.4)
    

    【讨论】:

      猜你喜欢
      • 2021-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-26
      • 1970-01-01
      • 1970-01-01
      • 2017-04-18
      相关资源
      最近更新 更多