Use [collections.defaultdict(list)][1] to store your data: import arcpy, collections fc = r'C:\data.gdb\somefeatureclass' #Or shapefile fields = ['Road_Name','X','Y'] d = collections.defaultdict(list) with arcpy.da.SearchCursor(fc,fields) as cursor: for roadname,x,y in cursor: d[roadname].append([x,y]) Key will be roadname and values will be a list of lists of coordinate pairs. For example if you do: d['Washington street'] you will get: [[1,2],[1,4],...] and the 21 remaining coordinate pairs. Your next step will perhaps be to iterate over keys and values, see this question: [Iterating over key and value of defaultdict dictionaries][2] [1]: https://docs.python.org/2/library/collections.html#defaultdict-examples [2]: https://stackoverflow.com/questions/2768188/iterating-over-key-and-value-of-defaultdict-dictionaries