代码:
a = [[1, 2], [3, 4]]
# 扁平化
b = [i for item in a for i in item]
# 或
import numpy as np
npa = np.arrary(a)
b = npa.ravel()
# and
b = npa.flatten()
ravel和flatten的区别在于使用ravel形成的数据在修改后会影响np.array的源数据
上面的代码使用ravel后修改b的值npa也会变化
将高维数组转为一维数组,数组内部长度不一,且含有元组
def flatten_array(arr):
flattened_arr = []
for element in arr:
if isinstance(element, (list, tuple)):
flattened_arr.extend(flatten_array(element))
else:
flattened_arr.append(element)
return flattened_arr
# 示例用法
arr = [[1, 2, 3], (4, 5), [6, (7, 8, 9)]]
flattened = flatten_array(arr)
print(flattened)