如何遍历ndimensional数组,但仅通过相邻元素?

2024-04-28 22:48:09 发布

您现在位置:Python中文网/ 问答频道 /正文

基本上,我有一个n维数组,我想遍历它的元素,但是迭代器只能遍历相邻的元素。例如,像这样(使用2D阵列)——

enter image description here

现在,我可以想出一种方法来实现这一点,例如使用2D数组(通过编辑数组本身),但我想不出任何n维数组可以以这种方式循环的方法。如果你对此有什么想法,那会很有帮助。它不需要在特定的模式中移动,唯一需要的是迭代器在每个步骤中只移动到相邻的矩阵元素

注意:我之所以需要这样做,是因为我正在编写python脚本来操作QM程序以运行“轻松扫描”。在这种情况下,一个或多个键的长度必须限制在特定的值,而分子的其余部分则可以松弛。大多数程序通过获取第一个提供的几何体并每次更改其中的键长值来实现这一点。但这会占用很多时间,因为随着扫描的进行,原始几何体不再是一个好的猜测,后续步骤需要更多的时间。此处的矩阵存储约束值。如果我可以使迭代器只移动到相邻的矩阵元素,那么我可以确保坐标的变化很小,并且过程很快完成


Tags: 方法程序脚本元素编辑方式时间模式
1条回答
网友
1楼 · 发布于 2024-04-28 22:48:09

对于每个维度,您必须定义它是升序还是降序,当它到达该维度的数组末尾时,它将从升序变为降序,当它到达第一个位置时,它将从降序变为升序。想法是,改变第一维度上升,在下一维度增长1,改变第一维度下降,在第二维度再次增长1。直到第二个维度结束,在第三个维度上加1,然后开始在第二个维度上下降。。。按照此操作,直到您已完成所有维度

相关问题 更多 >