我有一个嵌套在另一个循环中:
position={}
n=2
for i in range(n):
i=str(i)
for j in range(n):
j=str(j)
position[str(i+j)]= #whatever (in my case an object)
这样字典的键值就是来自矩阵的索引,我只需要用position['11']
调用它就可以得到它。
有没有更好的方法来连接i
和{}?存储(并创建)矩阵式的数据?在
PS:我知道numpy
库,但我还没有成功安装它。。。但这是另一个问题。。。在
Tags:
“正确”的答案是找出如何安装Numpy,因为这将比编写一个自制的伪矩阵类更能改进您的编程工具集。在
但是,如果你想按自己的方式去做,这会导致问题:
你将如何区分}之间的区别。?在
2,11
和{所以你的dict键应该是
^{pr2}$或者@user2.3M建议:
但您并不想为每个“矩阵”访问构建复杂的字符串或新元组。
除非地图非常大且稀疏,否则最好使用@JAB答案中基于列表的版本之一。在
你的字典等着出版是件头疼的事。它无法区分第1行第11列和第11行第1列。在
如果您无法让NumPy正常工作,那么解决问题的标准解决方案是一个嵌套列表:
您可以用
matrix[i][j]
来索引它。在您还可以使用带元组索引的dict:
^{pr2}$并用
matrix[i, j]
索引它。这可能会让需要维护代码的人大吃一惊。在如果不想使用
numpy
,可以使用嵌套列表(相当于C中的多维数组):然后使用
position[i][j]
引用它。在另一种方法是使用一个平面列表,并使用计算的值对其进行索引(基本上,当您在C中索引到二维数组时会发生什么情况,因为这些数组存储为一个连续数组,编译器对您提供的多个索引执行一些数学运算,以便索引到该底层平面数组中):
^{pr2}$相关问题 更多 >
编程相关推荐