我遇到了一个问题陈述,其中用户以数字列表的形式进行输入。输入的总数未知,但将为perfect square。我必须将其转换为方阵以执行其他任务。我怎样才能做到这一点?我所能想到的就是:
my_list = [int(x) for x in input(prompt).split(" ")]
n= int(len(my_list)**0.5) # no. of rows(or columns) for an nXn matrix
my_arr = np.array(my_list).reshape([n,n])
是否有任何内置函数或比这种方法更有效的方法?