目标:我试图计算所有邮政编码之间的距离,但只包括那些相距25英里或更少的邮政编码。你知道吗
问题:我认为代码应该工作的方式是使用循环拉一个邮政编码,然后使用另一个循环拉另一个邮政编码。问题是,如果zip1=XXX,它只获取以XXX开头的对,并且在对所有组合进行迭代之后,就无法移动到zip1的YYY。你知道吗
for line in f_in:
zip1 = line["ZIP"]
lat = line["LAT"]
lon = line["LNG"]
loc = (float(lat),float(lon))
for entry in b_in:
zip2 = entry["ZIP"]
lat2 = entry["LAT"]
lon2 = entry["LNG"]
loc2 = (float(lat2),float(lon2))
combzip = str(zip1)+str(zip2)
print combzip
if not ziplist.has_key(combzip):
dist = haversine.haversine(loc,loc2,miles=True)
if dist > 20:
continue
ziplist[combzip] = [zip1,zip2,dist]
不知道你是否注意到,但要小心
相关问题 更多 >
编程相关推荐