为什么python认为我的数组是0-d?(TypeError:0-d数组上的迭代)

为什么python认为我的数组是0-d?(TypeError:0-d数组上的迭代),python,arrays,numpy,iteration,sorted,Python,Arrays,Numpy,Iteration,Sorted,我知道以前可能已经回答过,但是请检查其他答案是否与此实例相关 我正在将一个数组作为字符串写入文件,以便在脚本未运行时可以存储它,并在运行时可以轻松地再次访问它。当我再次从文件中读取这个字符串时,它会自动作为字符串读取 我可以用一个for循环来修复这个问题,该循环循环遍历保存的字符串,并将每个条目附加到一个空数组中,但这似乎有点过头了——是吗?有没有更好的方法读取字符串并将其转换为数组 所以。。。第一次运行类似的操作是为了生成数组并将其作为字符串写入文件: the_file = open('.th

我知道以前可能已经回答过,但是请检查其他答案是否与此实例相关

我正在将一个数组作为字符串写入文件,以便在脚本未运行时可以存储它,并在运行时可以轻松地再次访问它。当我再次从文件中读取这个字符串时,它会自动作为字符串读取

我可以用一个for循环来修复这个问题,该循环循环遍历保存的字符串,并将每个条目附加到一个空数组中,但这似乎有点过头了——是吗?有没有更好的方法读取字符串并将其转换为数组

所以。。。第一次运行类似的操作是为了生成数组并将其作为字符串写入文件:

the_file = open('.the_file.txt', 'w')
the_array = [10, 20, 30, 40, 50]
the_file.write(str(the_array))
the_file.close()
下次运行代码时,会运行一段不同的代码,如下所示:

the_file = open('.the_file.txt', 'r')
the_array = the_file.read()
the_file.close()
如果此时打印_数组变量及其类型,我会得到:

[10, 20, 30, 40, 50]
<type 'str'>
…然后在此点打印_数组变量及其类型,以检查此操作是否有效,以获得:

[10, 20, 30, 40, 50]
<type 'numpy.ndarray'>
追溯到我代码的这一部分:

the_array = sorted(the_array, reverse=True)

有人能帮我吗;为什么python认为我的数组是0-d?

数组=np。asarray(数组)
正在创建一个包含一个元素的数组:字符串
“[10,20,30,40,50]”
。如果你导入json,并用
数组=json.load(the_file)
替换
数组=the_file.read()
,而不是读入文件,你将得到一个列表,并可以轻松地将其转换为numpy数组。

np.asarray
不解析字符串。这就可以解释了;谢谢-我很确定我也知道。。。
TypeError: iteration over a 0-d array
the_array = sorted(the_array, reverse=True)