python - 您可以将多维数组的位置存储在变量中吗?
问题描述
我正在尝试编写一个 rubix 立方体求解器,我想反复调用相同的边缘来检查它的信息。但是三维区域的位置占用了很大的空间,我想把我重复使用的位置放到一个变量中,这样我就可以调用变量而不是一遍又一遍地重写位置。
这就是我的 rubix 立方体的样子:
rubixCube = [
[["G","G","Y"], ["R","B","O"], ["R","R","O"]],
[["G","O","O"], ["O","Y","G"], ["R","B","B"]],
[["Y","W","Y"], ["R","O","O"], ["O","W","W"]],
[["B","B","W"], ["B","W","G"], ["G","W","R"]],
[["B","Y","R"], ["Y","R","W"], ["G","Y","B"]],
[["O","G","W"], ["B","G","R"], ["Y","Y","W"]]
]
这是我反复调用的位置的示例:
if(rubixCube[0][0][1] == "W"):
我可以写一些大致如下的东西吗:
position = [0][0][1]
if(rubixCube[position] == "W"):
解决方案
如果你使用一个 numpy 数组
import numpy as np
rubixCube = np.array([
[["G","G","Y"], ["R","B","O"], ["R","R","O"]],
[["G","O","O"], ["O","Y","G"], ["R","B","B"]],
[["Y","W","Y"], ["R","O","O"], ["O","W","W"]],
[["B","B","W"], ["B","W","G"], ["G","W","R"]],
[["B","Y","R"], ["Y","R","W"], ["G","Y","B"]],
[["O","G","W"], ["B","G","R"], ["Y","Y","W"]]
])
然后你可以用一个元组索引它
pos = (0, 0, 1)
print(rubixCude[pos])
推荐阅读
- python - 如何修复最简单的 PandasGUI 脚本中的错误
- c# - 根据 C# 中的模式验证 YAML
- php - 如何显示单个结果?流明
- javascript - 在我的提取完成之前代码正在继续
- sql-server - SSIS“执行过程”退出代码 253
- flask - 为什么我不能用 VSCode 调试我的烧瓶应用程序
- azure-devops - 如何在 Azure DevOps 中通过电子邮件发送发布管道工件 (TestResults_runId.zip)?
- javascript - 为什么我在 LWC 中的 console.log 在代理处理程序中显示变量数据
- c - [[nodiscard]] 与 [[gnu::warn_unused_result]] 有什么不同吗?
- mongodb - 启动 mongodb 单服务器作为副本集以通过 supervisord 启用 oplog