У меня есть Python словарь, который я сгенерировал из шейп-файла arcgis.В словаре есть ключ = FID (идентификатор точки): значение = либо ничего, либо «ЧЧ».Словарь выглядит следующим образом:
Cluster_dict = {0: [u' '], 1: [u'HH'], 2: [u'HH'], 3: [u' '], 4: [u' '], 5: [u' '], 6: [u' '], 7: [u' '], 8: [u' '], 9: [u' '], 10: [u' '], 11: [u'HH'], 12: [u'HH'], 13: [u'HH'], 14: [u'HH'], 15: [u' '], 16: [u' '], 17: [u' '], 18: [u' '], 19: [u' '], 20: [u' '], 21: [u' '], 22: [u' '], 23: [u'HH'], 24: [u'HH'], 25: [u' '], 26: [u' '], 27: [u' '], 28: [u' ']....}
Дополнительные символы значений [u ''] и [u'HH '] отображаются после того, как я создал словарь из шейп-файла arcgis со следующим кодом:
arcpy.ClustersOutliers_stats('input_file', "GRID_CODE", 'output_file', "INVERSE_DISTANCE", "EUCLIDEAN_DISTANCE", "NONE", "", "")
Cluster_dict = {}
sc = arcpy.SearchCursor('output_file')
for row in sc:
Cluster_dict[row.FID] = [row.COType]
print Cluster_dict
Я пытаюсь использовать этот словарь для добавления во вложенный список из 8 (или менее) соседей каждой точки, используя следующий код:
clusterList = []
for clist in Neighbors_List:
row = []
for ccode in clist:
row.append(Cluster_dict[ccode])
clusterList.append(row)
print clusterList
Но когда он доходит доrow.append (Cluster_dict [ccode]), я получаю ошибку ключа '0' .Я думаю, что это потому, что нет значения для ключа 0, но я не уверен в этом.Когда я использовал следующий код для замены всех [u ''] на «None», словарь не заменяет пустые значения.Я использую следующий код, чтобы попытаться заменить [u ''].
for k, v in Cluster_dict.iteritems():
if v is [u' ']: #I've also tried '[u' ']'
Cluster_dict[k] = 'None'
print Cluster_dict
Любая помощь будет оценена.Будет ли легче убрать [u ''] из всех значений в словаре?Если так, может кто-нибудь показать мне, как убрать ненужные символы из словаря?
Большое спасибо за любую помощь.