如何从包含 NumPy 值的字符串中获取列表列表?
How to get a list of lists from a string containing a NumPy value?
我有一个 Python 脚本可以解析来自命令行的输入。这些参数之一是包含列表列表的字符串(例如 python myscript.py -b '[[0,1],[2,3],[4,5]]'
)。
我可以通过多种方式将此字符串直接转换为列表列表,例如 json.loads()
或 ast.literal_eval()
.
如果能够在此字符串中包含 NumPy 值(如 '[[0, 2*np.pi],[-np.pi/2, np.pi/2]]'
)并且仍然能够将此字符串转换为列表列表,这对我来说可能会有用。但是,上面提到的两种方法none似乎都有效,我在网上找不到合适的方法。
有谁知道能够处理这个的方法?
如果已经存在合适的方法,我宁愿不自己写一个方法。
使用eval()
:
import numpy as np
string = '[[0, 2*np.pi],[-np.pi/2, np.pi/2]]'
eval(string)
OUTPUT:
[[0, 6.283185307179586], [-1.5707963267948966, 1.5707963267948966]]
注意:使用 eval
时有一些缺点,请参阅 link。
我有一个 Python 脚本可以解析来自命令行的输入。这些参数之一是包含列表列表的字符串(例如 python myscript.py -b '[[0,1],[2,3],[4,5]]'
)。
我可以通过多种方式将此字符串直接转换为列表列表,例如 json.loads()
或 ast.literal_eval()
.
如果能够在此字符串中包含 NumPy 值(如 '[[0, 2*np.pi],[-np.pi/2, np.pi/2]]'
)并且仍然能够将此字符串转换为列表列表,这对我来说可能会有用。但是,上面提到的两种方法none似乎都有效,我在网上找不到合适的方法。
有谁知道能够处理这个的方法?
如果已经存在合适的方法,我宁愿不自己写一个方法。
使用eval()
:
import numpy as np
string = '[[0, 2*np.pi],[-np.pi/2, np.pi/2]]'
eval(string)
OUTPUT:
[[0, 6.283185307179586], [-1.5707963267948966, 1.5707963267948966]]
注意:使用 eval
时有一些缺点,请参阅 link。