2017-04-19 29 views
-2

我有2個列表,其中一個包含到特定點的距離,另一個包含在二維空間中分佈不同值的方法。另一個列表包含以相同順序映射到這兩個列表的屬性。
例如list1 = [a, b, c, d]
list2 = [10, 12, 45, 10] - >每個到特定點的距離
list3 = [12.5, 17.5, 1.87, 34.4] - >與a,b,c和d中的每一個有關的值的均值。
根據2個參數找到列表中的最佳值

我想根據list2中的最小距離和列表3中的最高平均值返回list1的最佳值。但我不希望根據任何優先級對它們進行排序(列表1先列出,然後列出2或者列出反之亦然)。我想要返回列表2和列表3中值的組合。對列表進行排序並不是做到這一點的方法。我嘗試對值進行規範化並添加它們,但我不知道這是否是正確的方法。返回相關列表索引的最佳方式是什麼?

回答

0

您可以壓縮三個列表爲元組的一個列表,然後利用每個元組的第一個元素作爲關鍵取回最大的元組:

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