python 中的循环与 matlab 类似吗?
我是使用 Python - Arcmap 的新手。
我的地图上有一个名称几乎相同的图层列表(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”,“全部”)
end
有人可以给我提示吗!
多谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您只需为每个 i 构造字符串
"boundi"
和"boundiConvexHull"
。而不是
3:50
(在 Matlab 中),而是在 Python 中执行xrange(3,51)
。达到51
的原因是xrange(n)
生成序列0:(n-1)
(python 是从 0 开始的而 matlab 是从 1 开始的)。我使用了 python 的字符串格式:
"bound%i" % i
是您在 matlab 中熟悉的 printf 类型函数的语法糖。方便的链接:
xrange
You just have to construct the strings
"boundi"
and"boundiConvexHull"
for each i.Instead of
3:50
(in Matlab) you doxrange(3,51)
in python. The reason you go up to51
is thatxrange(n)
generates the sequence0:(n-1)
(python is 0-based whereas matlab is 1-based).I've made use of python's string formatting:
"bound%i" % i
is syntactic sugar for printf-type functions that you are familiar with in matlab.Handy links:
xrange