![]() |
1
6
由于维度太多,不允许库导入,我将(作为基本选择)使用由元组索引的字典。这样,您就可以获得非常好的简单索引语法:
您可能希望将它包装在一个类中,以添加除简单索引之外的功能,但不知道它是什么。 是 除此之外您还想要的(初始化/默认值?切片?迭代?等等……)这太难猜了。如果您能精确地指定所有您想用这个“多维数组”做的事情,那么就不难向您展示最能提供它的代码了! |
![]() |
2
2
我写了一篇
Multidimensional array in Python 它可以这样使用:
|
![]() |
3
1
另一种可能是创建一个一维数组,然后使用带有11个索引参数的函数读/写它。将索引(基于每个维度的最大值)相乘,以计算数组中的位置。get/set函数本身并不是很漂亮(有11个索引),但是一旦编写了它们,get和setting数组索引看起来几乎和c中的一样干净。我不确定与嵌套列表相比性能如何,但我想这是有利的。 基本概念可以用两个维度表示:
但随着尺寸的增加,它变得更加复杂:
对于更大的数组,依此类推。您可以将其归纳为维数可变的变量。我可能会将索引和维度放入列表中,然后对它们进行迭代。 |
![]() |
4
1
一个可能非常清晰的解决方案,尽管性能可能很差,但它将使用一个带有11个元素元组的dict作为键:
这还允许您存储坐标向量并将它们作为单个对象传递:
您可以使用自己的类或dict的子类来强制密钥完整性:
您可以使用自己的类来提高性能
|
![]() |
5
1
喜欢
|
![]() |
6
0
“多维”只是一个花哨的术语,意思是“许多记忆位置”。如果你从更广泛的意义上看,它们实际上是“一维的”。不管怎样,为了提供一个替代方案,您可以使用字典。
以这种方式创建到第11维度的口述。 |
![]() |
7
0
您可以使用列表:
等等,在那之后。 |
![]() |
Community wiki · C中有哪些耗时的操作? 1 年前 |
![]() |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
![]() |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
![]() |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |