python处理一个格式如[array([[x1,y1], [x2,y2],...]),array([[x1,y1]...])]格式的字符串,转换为list形式
时间: 2024-10-19 12:06:29 浏览: 20
如果Python字符串的格式像这样:
```python
str_with_nested_arrays = "[array([[x1, y1], [x2, y2], ...]), array([[x1', y1'], ...])]"
```
并且你需要将其转换成嵌套的二维列表,每个元素对应于原始字符串中的小数组,你可以使用递归和列表解析来完成。首先,我们需要将字符串转为字典,然后再逐层解析。这里有一个示例:
```python
import ast
def parse_array(s):
return ast.literal_eval(s.replace("'", '"')) if isinstance(s, str) else s
def process_nested_arrays(s):
result = []
for arr_str in s[1:-1].split(', '): # 去除外层方括号
arrays = ast.literal_eval(arr_str)
result.append([parse_array(subarr) for subarr in arrays])
return result
nested_list = process_nested_arrays(str_with_nested_arrays)
print(nested_list)
# 注意,这里使用了ast.literal_eval而不是eval,因为ast.literal_eval对于json兼容数据更安全
#
阅读全文