Sont les boucles en python similaire à matlab?
Question
Je suis nouveau dans l'utilisation de Python - Arcmap.
J'ai sur ma carte d'une liste de couches avec la presque même nom (bound3 à bound50)
Je veux calculer le MinimumBoundingGeometry_management.J'ai trouvé comment le faire pour une seule couche.
arcpy.MinimumBoundingGeometry_management("bound3","bound3ConvexHull","CONVEX_HULL","ALL")
Au lieu de cela, je voudrais créer une boucle comme dans matlab style:
for i=3:1:50
arcpy.MinimumBoundingGeometry_management(boundi,boundiConvexHull,...
"CONVEX_HULL","ALL")
end
quelqu'un peut-il me donner un conseil !
merci beaucoup
La solution
Vous avez juste à construire la chaînes "boundi"
et "boundiConvexHull"
pour chacun, j'.
Au lieu de 3:50
(en Matlab) vous ne xrange(3,51)
en python.La raison pour laquelle vous allez jusqu'à 51
c'est que xrange(n)
génère la séquence 0:(n-1)
(python est basée sur 0 alors que matlab est de base 1).
for i in xrange(3,51):
arcpy.MinimumBoundingGeometry_management("bound%i" % i, "bound%iConvexHull" % i, ... )
J'ai fait de l'utilisation de python dans la chaîne de mise en forme: "bound%i" % i
est sucre syntaxique pour printf type de fonctions qui vous sont familiers avec matlab.
Liens pratiques:
- Python pour les boucles.
xrange
- mise en forme de chaîne ("pommes" x %i $%s" % (2,1.50) --> "pommes x 2, $1.50")