我有一个二维数组(10x10),表示x和y位置。我正在写一个脚本,它会转到每个位置,做一些事情,然后移动到下一个位置。
最有效的方法是从一个角落开始,在恒定的x值处扫描(移动通过y值),然后在所有y值的末尾,移动通过一个x值并以相反的顺序移动通过y值。有点像蛇的图案,如果这有意义的话。
我的循环现在看起来像这样:
for x in x_values:
for y in y_values:
do_something()
move to y + 1
move to x + 1
move back to first y value
字符串
正如您所看到的,我正在完成一列(在y中),前进一个x值,然后返回到第一个y值。我想对偶数的x值反向运行y值。
最简单的方法是什么?
2条答案
按热度按时间lymnna711#
这应该能解决你的问题
字符串
在
y_values
上的每次迭代之后,y_values
被反转。wz1wpwve2#
为了实现每隔一遍反转子循环的索引顺序的预期行为,可以使用条件语句来检查当前x值是偶数还是奇数。如果是偶数,你可以按相反的顺序循环遍历y值;否则,正常循环遍历它们。下面是如何修改循环来实现这一点:
字符串
确保分别用x和y位置的实际列表替换
x_values
和y_values
。另外,根据您的具体实现调整do_something()
函数。这个修改将有效地创建您所描述的“蛇模式”,其中y值在每隔一次通过x值时以相反的顺序处理。