另一个列表索引问题(这对我来说有点棘手):
所以我创建了一个字典(collections.defaultdict(list)。
d = collections.defaultdict(list)
with arcpy.da.SearchCursor(fc, fields) as cursor :
for roadname,x,y,bearing,e_id in cursor:
d[roadname].append([x,y,bearing,e_id])
从这个词典中,我在列表中附加了一些数据。它有多个层次。
for row in d.items():
#print(row[0][:]) # Name of the streets
#print(row[1][:]) # List of values : x,y,heading and e_id
#print(row[1][0][2])#Heading
#East heading
if 45 <= row[1][0][2] <= 135:
east_heading.append(row)
print(str(row[0][:] + ' ==> Heading : East'))
列表中的第一个信息是街道名称。在此列表中,还有另一个列表包含多个信息(x、y、标题和一个空字段(暂时)。列表如下所示:
[('Adams_Street', [[-73.5073589207775, 45.38858418960871, 50.4474983215332, ''], [-73.50783911468335, 45.38868216265172, 50.4474983215332, ''], ('Archie_Street', [[-73.50561268197964, 45.38481501040445, 75.03119659423828, '']]) and so on...
每个子列表(街道名称)的长度彼此不同。
我正在尝试按 X 坐标对列表进行排序(例如:-73.5056 ...)。我可以通过这个循环获得所有值,但我不知道如何对其进行排序:
for entries in east_heading:
print(entries[1][0][0])
任何意见,将不胜感激。
谢谢