繁体   English   中英

python:如何将元组列表转换为numpy数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM