border = []
border += list(array[0, :-1]) # Top row (left to right), not the last element.
border += list(array[:-1, -1]) # Right column (top to bottom), not the last element.
border += list(array[-1, :0:-1]) # Bottom row (right to left), not the last element.
border += list(array[::-1, 0]) # Left column (bottom to top), all elements element.
给定一个名为
array
的2d数组…看起来是这样的:
我们可以通过仔细的切片得到边界附近的值
注意:我们不想重复计算拐角。这就是为什么我们不在每个行/列切片中包含最后一个元素的原因。但是,在最后一条语句中,我们包含了关闭路径的最后一个元素
border
的值:我将其转换为一个函数,允许您指定从哪个角开始,并逆时针或顺时针(https://gist.github.com/blaylockbk/a70537b41050d1d761ab6c5ab6e4bd43)绕数组走
相关问题 更多 >
编程相关推荐