我有一个列表 t
,其中有一个平方的元素,例如。16、25、400。现在,想创建一个装满相同大小的零的numpy阵列a
,但平方形,例如4x4,5x5,20x20。
我找到了一个解决方案:
a = np.zeros(2 * (int(np.sqrt(len(t))),))
或
a = np.zeros(len(t)).reshape(int(np.sqrt(len(t))), int(np.sqrt(len(t))))
它正在工作,但它非常丑陋,我敢肯定必须有一种更好的方法来做到这一点。类似于a = np.zeros(t, 2)
。有什么想法吗?
谢谢!:)
您可以尝试:
shp = int(np.sqrt(len(l))
a = np.zeros((shp, shp))
您可以像这样清洁它:
size = len(l)
sqrt = int(np.sqrt(size))
a = np.zeros((sqrt, sqrt))
每当您多次编写相同的代码片段时,都可以用变量,功能等替换。