如何将python字符串转换为数组

问题描述

一个python字符串:

'[[4,2],[8,5]]'

例如,如果您有一个相当复杂的多维信息数组,可能是从文件用户输入中提取的,并且自然是一个字符串。我应该如何将它变成一个实际的数组。我想要一个通用实现,以便我可以对任何多维和复杂数组执行此操作。这是一个机器学习项目,这些数组中的任何一个都可以用形状(例如 (3,2,5) )和其对应值的列表(例如 [1,3,4,5,6,7,8,9,1,0] )表示,如下所示:

[[[1,5],[6,0]],[[1,0]]]

解决方法

试试这个:

def flatten_list(_2d_list):
    flat_list = []
    for element in _2d_list:
        if type(element) is list:
            for item in element:
                flat_list.append(item)
        else:
            flat_list.append(element)
    return flat_list

nested_list = [[4,2],[8,5]]

print(nested_list)
print(flatten_list(nested_list))

,
import numpy as np
list = [1,2,3,4,5,6,7,8,9,1,0]
array = np.array(list)
array = np.reshape(array,(3,5))