代码:

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)

posted on 2023-07-09 18:56  转眼春夏秋冬如烟  阅读(102)  评论(0)    收藏  举报