2012-01-24 73 views
2

我是使用Python的新手 - Arcmap。python中的循环与matlab类似吗?

我有我的地图图层与几乎相同名称的列表(bound3到bound50)

我要计算的MinimumBoundingGeometry_management。我发现如何为单层做到这一点。

arcpy.MinimumBoundingGeometry_management("bound3","bound3ConvexHull","CONVEX_HULL","ALL")

相反,我想创建一个循环像MATLAB风格:

for i=3:1:50 arcpy.MinimumBoundingGeometry_management(boundi,boundiConvexHull,... "CONVEX_HULL","ALL") end

有人可以给我一个提示!

非常感谢

回答

3

你只需要构建字符串"boundi""boundiConvexHull"每个我。

而不是3:50(在Matlab中)你在python中做xrange(3,51)。你去51的原因是xrange(n)生成序列0:(n-1)(python是基于0的,而matlab是基于1的)。

for i in xrange(3,51): 
    arcpy.MinimumBoundingGeometry_management("bound%i" % i, "bound%iConvexHull" % i, ...) 

我做了使用Python的字符串格式化的:"bound%i" % i是,你是熟悉的printf MATLAB型函数语法糖。

手持链接:

+0

欢呼,这是非常有益的! – user1166251