Küçük bir program yazıyorum ve verimliliği artırmak için dizimde en yakın enlem ve boylamı bulabilmem gerekir.En yakın enlem ve boylamı bulun
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))
alıyorum sonucudur:
aşağıdaki kodu var varsayalım(39.7622292, -86.1519681)
o (listedeki son nesne bu örnekte) 'dir olmalıdır Ne
(39.7622292, -86.1578917)
Tek bir değerin en yakın hücresini nasıl alacağımı biliyorum, ancak lambda işlevini göz ardı etmek istiyorum iki değer de var ama nasıl emin değilim. Yardım et?
Kullanım 'min' dicts orijinal listesinde - ayrılarak hiçbir kullanım iki liste - ve anahtar fonksiyonunuzda Pisagor teoremi kullanın. –
En düşük boylam değerini doğru şekilde alıyorsunuz. Bu değerleri ayırıyorsunuz. Değerleri ayırmayın, enlem ve boylam için uzaklığı * birlikte hesaplayın *. –
sadece öklid mesafesini kullanın -)) – marmeladze