如何将字符串转换为numpy数组?例如[(160,179),(243,179),(203,227),(166,269),(236,269)]

时间:2018-08-07 03:27:41

标签: python

我有一个字符串,例如“ [((160,179),(243,179),(203,227),(166,269),(236,269)]]”。我想知道如何转换使用python将其转换为5by2numpy数组?

我已经尝试过这种方式

np.asarray(xxx)

但是出错了

thx!

2 个答案:

答案 0 :(得分:0)

没有好的方法,但是您可以随时尝试使用eval

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="add-image">
add image
</button>

<button id="replace-image">
replace last image
</button>


<div id="grid">

</div>

然后,您可以将其转换为np数组,就像处理任何python列表一样。

 >>> import ast
 >>> lst = ast.literal_eval('["A","B" ,"C" ," D"]')
 >>> lst
["A", "B", "C", " D"]

希望有帮助。

答案 1 :(得分:0)

您可以执行evalast.literal_eval(我选择ast.literal_eval是因为eval是一种不好的做法)。

示例:

>>> import ast,numpy
>>> numpy.array(ast.literal_eval(s))
array([[160, 179],
       [243, 179],
       [203, 227],
       [166, 269],
       [236, 269]])
>>>