You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python/Pygame开发:不使用Numpy如何获取二维矩形网格的指定x列

实现方案

你当前使用的是**行优先(Row-major)**的一维数组存储二维网格,所有元素按「先存满一行、再存下一行」的规则排列。要提取指定x列的元素,只需要遍历所有行,取出每行对应x位置的元素即可,无需引入numpy:

def get_column(self, x):
    # 可选:添加x下标合法性校验
    if not 0 <= x < self._num_cols:
        raise IndexError(f"列索引{x}超出范围,总列数为{self._num_cols}")
    # 逐行取对应x位置的元素
    return [self._grid[row * self._num_cols + x] for row in range(self._num_rows)]

注意事项

  • 如果你当前类中没有预先存储总行数self._num_rows,可以通过一维网格总长度除以列数计算得到:self._num_rows = len(self._grid) // self._num_cols
  • 和取行的连续切片操作不同,取列的元素在一维数组中是非连续存储的,因此必须通过循环遍历的方式读取,这是行优先存储结构的正常特性。

内容的提问来源于stack exchange,提问作者theasianone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 06:24:04