像往常一样介绍,我是python中的tyro.但是,我有一个很大的代码项目.它是Cell Automata的表面流动模型.无论如何,我还想在我的模型中包括建筑屋顶.想象一下,你有一个ascii文件指示1s的建筑物,而其余的是0.只有这两种状态.现在,我想找到所有相邻的单元格,指示相同的建筑物并将它们(或者更确切地说是y,x和另外一个(可能是高程)的信息,因此在单个建筑物阵列中存储).请记住,尽管对角连接的单元不属于同一建筑物,但建筑物可以具有所有可能的形式.因此,只有北部,南部,西部和东部的细胞可以属于同一建筑物.
我做了我的作业并用谷歌搜索了它,但到目前为止我找不到令人满意的答案.
示例:初始土地覆盖数组:
([0,0,0,0,0,0,0]
[0,0,1,0,0,0,0]
[0,1,1,1,0,1,1]
[0,1,0,1,0,0,1]
[0,0,0,0,0,0,0])
Run Code Online (Sandbox Code Playgroud)
输出(我现在需要初始数组中单元格的坐标):
building_1=([1,2],[2,1],[2,2],[2,3],[3,1],[3,3])
building_2=([2,5],[2,6],[3,6])
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏!