tuc*_*uck 1 python arrays numpy type-conversion
嗨,通过网络做一些事情,并想知道是否有任何方式将python数组转换为字符串回到python数组..例如
x = "[1,2,3,4]"
Run Code Online (Sandbox Code Playgroud)
将x转换为
x_array = [1,2,3,4]
Run Code Online (Sandbox Code Playgroud)
奖金,如果它也可以适用于多块的多维数组!
对于普通数组,请使用ast.literal_eval:
>>> from ast import literal_eval
>>> x = "[1,2,3,4]"
>>> literal_eval(x)
[1, 2, 3, 4]
>>> type(literal_eval(x))
<type 'list'>
>>>
Run Code Online (Sandbox Code Playgroud)
numpy.array但是因为Python将它们呈现为字符串,所以有点棘手:
>>> import numpy as np
>>> x = [[1,2,3], [4,5,6]]
>>> x = np.array(x)
>>> x
array([[1, 2, 3],
[4, 5, 6]])
>>> x = str(x)
>>> x
'[[1 2 3]\n [4 5 6]]'
>>>
Run Code Online (Sandbox Code Playgroud)
你可以使用的一个hack用于简单的用逗号替换空白re.sub:
>>> import re
>>> x = re.sub("\s+", ",", x)
>>> x
'[[1,2,3],[4,5,6]]'
>>>
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用ast.literal_eval并将其转回numpy.array:
>>> x = literal_eval(x)
>>> np.array(x)
array([[1, 2, 3],
[4, 5, 6]])
>>>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1189 次 |
| 最近记录: |