猿问

从多个输入生成循环

我正在尝试根据2个房屋的给定输入(即和)生成1000个房屋的列表。这些房屋的差异将添加到下一个后续房屋中,如下面的脚本所示。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个房屋的列表,即.如何生成一个循环,该循环将自动迭代1000个房屋并输出所需的结果?House_3, House_4, House_5


阿波罗的战车
浏览 165回答 3
3回答

冉冉说

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试试这个:)

萧十郎

所以house_3纬度是纬度,house_4纬度是House_2[0]+1* latitude_diffHouse_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)

HUH函数

也许至少要看一次Python教程?https://docs.python.org/3/tutorial/controlflow.html#the-range-function
随时随地看视频慕课网APP

相关分类

Python
我要回答