我想将numpy数组转换为list。
输入是:
s = [ 6.72599983 -7.15100002 4.68499994]
我希望输出为:
s = [6.72599983, -7.15100002, 4.68499994]
我将如何在python中执行此操作?
答案 0 :(得分:1)
如果您有numpy.ndarray
,请尝试以下操作:
>>> import numpy
>>> lst = [6.72599983, -7.15100002, 4.68499994]
>>> numpy.asarray(lst)
array([ 6.72599983, -7.15100002, 4.68499994])
>>> list(numpy.asarray(lst))
[6.7259998300000001, -7.1510000199999997, 4.68499994]
如果你错误地将numpy.array
转换为字符串,那么你需要使用ast的清理技巧将其放入列表中。
>>> import ast, numpy
>>> s = str(numpy.asarray(lst))
>>> s
'[ 6.72599983 -7.15100002 4.68499994]'
>>> list(ast.literal_eval(",".join(s.split()).replace("[,", "[")))
[6.72599983, -7.15100002, 4.68499994]
答案 1 :(得分:1)
你的问题仍然不清楚。
如果s
的确属于'numpy.ndarray'类型而不是字符串(如您提出的问题的旧版本),那么只需执行
s = list(s)
和s
将成为一个列表。
答案 2 :(得分:0)
s.split()
应该有用。
您可以在此处找到解决方案:Python - convert string to list