我想将一个数组拆分成子数组.原始数据是:
['4 2','1 4','1 4'] ['4 1','4 1','3 1'] ['3','2','1']
我想得到的结果是:
['4','1','1'] ['2','4','4'] ['4','4','3'] ['1','1','1'] ['3','2','1']
所以我的代码是:
raw = [['4 2','1 4','1 4'],['4 1','4 1','3 1'],['3','2','1']] newraw =[] for item in raw: #print item numberOfRow = len(item[0].split(" ")) temp = np.empty((numberOfRow,5)) for i in range(len(item)): test = item[i].split(" ") for j in range(len(test)): temp[j,i]=test[j] for it in temp: newraw.append(it) print newraw
当我print newraw
,我发现问题:(1),结果包含非整数,(2)结果包含[array([...])...
,但我不知道为什么.
那么有任何解决方案,还是有任何简单的方法来获得我想要的结果?谢谢〜
难道你不能这样做吗?
x = [['4 2','1 4','1 4'], ['4 1','4 1','3 1'], ['3','2','1']] res = [] for i in x: res.extend(map(list, zip(*(j.split(" ") for j in i))))
你可能会失去的map
电话,如果你不介意具有list
的tuples
.此外,我不确定你是否意味着,你想将所有值转换为整数.你的示例输出没有显示这个,所以我认为你不需要.
输出:
[['4', '1', '1'], ['2', '4', '4'], ['4', '4', '3'], ['1', '1', '1'], ['3', '2', '1']]