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

将字符串字典转换为3×3 numpy数组的技术问询

把字典转换为3×3 NumPy数组的简洁方案

我来帮你把这个字符串字典转成整洁的3×3 NumPy数组~你的原始代码用了结构化数组,其实对于这个需求来说有点复杂了,我们可以用更直接的方法来实现:

核心思路

我们只需要按照从上到下、从左到右的顺序提取字典里的对应值,再把一维数组重塑成3×3的二维数组就可以了,完全不需要结构化 dtype。

完整代码

import numpy as np

# 你的原始字典
result = {'top-L': ' ', 'top-M': ' ', 'top-R': ' ', 
          'mid-L': ' ', 'mid-M': ' ', 'mid-R': ' ', 
          'low-L': ' ', 'low-M': ' ', 'low-R': ' '}

# 定义键的顺序:对应3×3数组的行和列(第一行top-L/M/R,第二行mid-L/M/R,第三行low-L/M/R)
key_order = ['top-L', 'top-M', 'top-R',
             'mid-L', 'mid-M', 'mid-R',
             'low-L', 'low-M', 'low-R']

# 提取值并转换为3×3数组
board_array = np.array([result[key] for key in key_order]).reshape(3, 3)

# 打印结果验证
print(board_array)

代码解释

  • key_order 确保我们按正确的布局顺序提取字典值,这样重塑后的数组和你字典里的位置完全对应;
  • 列表推导式快速提取所有值,转成NumPy数组后,reshape(3, 3) 直接把一维数组转换成3行3列的二维数组;
  • 不管之后字典里的内容是空格、'X'还是'O',这段代码都能正确生成对应的3×3棋盘数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:37:41