Генерация al oop из нескольких входов - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь сформировать список из 1000 домов на основе заданных входных данных 2 домов, т.е. House_1=[143.5689855, -38.328956999999996] и House_2=[143.5692555, -38.328993]. Разница между этими домами будет добавлена ​​к следующим последующим домам, как показано в сценарии ниже.

from arcgis.geocoding import reverse_geocode
import pprint

House_1=[143.5689855, -38.328956999999996]
House_2=[143.5692555, -38.328993]


latitude_diff = House_2[0] - House_1[0]
longitude_diff= House_2[1] - House_1[1]



House_3=[House_2[0]+latitude_diff ,House_2[1]+longitude_diff]
pprint.pprint(House_3)

House_4=[House_3[0]+latitude_diff ,House_3[1]+longitude_diff]
pprint.pprint(House_4)

House_5=[House_4[0]+latitude_diff ,House_4[1]+longitude_diff]
pprint.pprint(House_5)
.
.
.
.
.
House_1000=[House_999[0]+latitude_diff ,House_999[1]+longitude_diff]
pprint.pprint(House_1000)
  • Поскольку я использовал ручной процесс для создания списка из 3 домов, то есть House_3, House_4, House_5. Как сгенерировать все oop, которые будут автоматически повторяться для 1000 домов и выводить требуемые результаты?

Ответы [ 3 ]

1 голос
/ 24 марта 2020

Итак, house_3 это широта House_2[0]+1* latitude_diff и house_4 ​​широта House_2[0] + 2 * latitude_diff

Так что вы можете сделать понимание списка -

houses = [House_1, House_2]
for i in range(1, num_houses):
    curr_house = [House_2[0] + i* latitude_diff, House_2[1] + i* longitude_diff]
    pprint.pprint(curr_house)
    houses.append(curr_house)
1 голос
/ 24 марта 2020
Houses = [0]*(1000)
Houses[0], Houses[1] = [143.5689855, -38.328956999999996], [143.5692555, -38.328993]
for i in range(2, 1000):
    latitude_diff = Houses[i-1][0] - Houses[i-2][0]
    longitude_diff= Houses[i-1][1] - Houses[i-2][1]
    temp = [Houses[i-1][0]+latitude_diff, Houses[i-1][1]+longitude_diff]

    Houses[i] = temp

Попробуйте это:)

1 голос
/ 24 марта 2020

Может быть go через учебник Python хотя бы один раз? https://docs.python.org/3/tutorial/controlflow.html#the -range-функция

...