我相信这是一个简单的问题,但我对Python还不太熟悉,所以任何建议都将不胜感激。 我有一个字符串矩阵,我需要把每个元素转换成float类型,然后再增加一些。我是这样做的:
for i in range(0,len(matrix)):
for j in range(0,len(matrix[i])):
for k in range(0,len(matrix[j])):
matrix[i][j][k] = float(matrix[i][j][k]) + 5.555
有没有其他方法来提高速度?当我有矩阵[50][50][50]或更大时,性能非常低。 有没有一种方法可以一次增加所有元素?你知道吗
无论何时在Python中进行数组工作,如果可能,最好使用numpy库。你知道吗
您可以对代码进行低级优化,例如将对range()的调用移到循环之外,这样您就不会每次在循环中创建新的列表(如果使用3.x,则创建生成器)。你知道吗
不过,最大的优化是切换到使用numpy,它将在高性能C代码中跨整个数组执行操作。你知道吗
如果
matrix
是兼容的,那么您可以(也可能应该)将它放入numpy
数组中。它是一个非常方便的数值计算库,并带有许多函数:根据您想要做的事情,您可能还需要查看scipy
。你知道吗以一些随机数据为例:
相关问题 更多 >
编程相关推荐