如何从包含 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