私は小さなプログラムを書いており、効率を改善するために、私は自分の配列に最も近い緯度と経度を見つける必要があります。最も近い緯度と経度を見つけよう
では、次のコードを持っていると仮定します
tempDataList = [{'lat': 39.7612992 , 'lon': -86.1519681},
{"lat": 39.762241, "lon": -86.158436},
{"lat": 39.7622292, "lon": -86.1578917}]
tempLatList = []
tempLonList = []
for item in tempDataList:
tempLatList.append(item['lat'])
tempLonList.append(item['lon'])
closestLatValue = lambda myvalue: min(tempLatList, key=lambda x: abs(x - myvalue))
closestLonValue = lambda myvalue: min(tempLonList, key=lambda x: abs(x - myvalue))
print(closestLatValue(39.7622290), closestLonValue(-86.1519750))
私が得る結果は次のとおりです。
(39.7622292, -86.1519681)
それがどうあるべきかは(この例では、リスト内の最後のオブジェクト)である
(39.7622292, -86.1578917)
私は単一値の最も近いセルを取得する方法を知っていますが、私はラムダ関数を考慮したいと思いますどちらの値でも私は完全にはわかりません。助けて?
使用 'min'をdictsの元のリストに - にそれを分離する際に役に立ちません2つのリスト - あなたの主要な機能にピタゴラスの定理を使用します。 –
最低の経度値を正しく取得しています。あなたはそれらの値を分離しています。値を切り離さず、一緒に緯度と経度の距離*を計算してください。 –
ただユークリッド距離を使用する - )) – marmeladze