[英]python: how to convert list of tuples to numpy array
我将元组(x,y坐标)列表转换为字符串并写入文件中。 当我从文件中读取行时,我的列表如下所示:
[(341, 115), (174, 227), (457, 308)]
如何将这种列表转换为numpy数组 ? 最终结果应如下所示:
[[341 115]
[174 227]
[457 308]]
使用ast.literal_eval
将行(字符串)转换为实际的列表对象,然后直接在其上调用numpy.array
:
line = "[(341, 115), (174, 227), (457, 308)]"
from ast import literal_eval
import numpy as np
np.array(literal_eval(line))
输出:
array([[341, 115],
[174, 227],
[457, 308]])
使用numpy
:
lst = [(341, 115), (174, 227), (457, 308)]
import numpy as np
print(np.array(lst))
输出 :
[[341 115]
[174 227]
[457 308]]
使用list comprehension
:
print([list(lst) for lst in lst])
输出 :
[[341, 115], [174, 227], [457, 308]]
编辑 :
如果它是一个字符串,它与问题粘贴的代码中的代码看起来不一样:
lst = "[(341, 115), (174, 227), (457, 308)]"
然后:
import numpy as np
from ast import literal_eval
print(np.array(literal_eval(lst)))
最终(用于列表理解):
print([list(lst) for lst in literal_eval(lst)])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.