A bit unclear what you want but you should be able to use collections.defaultdict:
Using list as the default_factory, it is easy to group a sequence of key-value pairs into a dictionary of lists
import arcpy
from collections import defaultdict
fc = r"C:\folder\shapefile.shp"
dx = defaultdict(list)
dy = defaultdict(list)
with arcpy.da.SearchCursor(fc,['OID@','SHAPE@']) as cursor:
for row in cursor:
array1=row[1].getPart()
for vertice in range(row[1].pointCount):
pnt=array1.getObject(0).getObject(vertice)
dx[row[0]].append(pnt.X)
dy[row[0]].append(pnt.Y)
You will now have two dictionaries with ObjectID as key and a list of coordinates for each polygon as values . For example all the vertices for the first polygon (objectid 0) as lists:
print(dx[0])
print(dy[0])
>>[800000.0, 800000.0, 700000.0, 700000.0, 800000.0]
>>[7400000.0, 7300000.0, 7300000.0, 7400000.0, 7400000.0]
Start and end coordinates are the same. Can be removed if you want.
Iterating:
for oid in dx:
print(dx[oid], dy[oid])
>>[800000.0, 800000.0, 700000.0, 700000.0, 800000.0] [7400000.0, 7300000.0, 7300000.0, 7400000.0, 7400000.0]
>>[800000.0, 800000.0, 700000.0, 700000.0, 800000.0] [7400000.0, 7300000.0, 7300000.0, 7400000.0, 7400000.0]
>>...