Escribí un script usando MoveLayer y una capa de grupo temporal para que esto funcione. Primero cree una nueva capa de grupo en cualquier lugar de su TOC (no importa cómo se llame, se eliminará al final). Esto solo funciona en base al supuesto de que esta capa de grupo temporal es la única en el mxd. Por supuesto, esto puede pasarse por alto dando a su capa temporal un nombre constante (como "TempGroup") y cambiando el script para usar esa capa de grupo específicamente para la clasificación.
mxd = arcpy.mapping.MapDocument("CURRENT")
df = arcpy.mapping.ListDataFrames(mxd)[0] # Assuming one data frame
group_lyr = [lyr for lyr in arcpy.mapping.ListLayers(mxd) if lyr.isGroupLayer][0] # The temp group layer should be the only one
lyr_names = sorted(lyr.name for lyr in arcpy.mapping.ListLayers(mxd) if lyr.isFeatureLayer)
for name in lyr_names:
arcpy.mapping.MoveLayer(df, group_lyr, arcpy.mapping.ListLayers(mxd, name)[0], "BEFORE")
arcpy.mapping.RemoveLayer(df, group_lyr)
Gist está aquí . Estoy usando ArcGIS 10.3.1 para escritorio.
mxd.save()del mxd