如何将混合维数阵列展平为二维列表?

Hir*_*uri 3 python list flatten

我知道有很多关于我如何压扁二维列表的帖子但是这个有点不同,因为它是二维和三维列表的混合:

items = [[255, 204, 204], ..., [255, 179, 179], [[250, 250, 250], ..., [220, 220, 220]]]
Run Code Online (Sandbox Code Playgroud)

我希望这个列表只是两个维度:

items = [[255, 204, 204], ..., [255, 179, 179], [250, 250, 250], ..., [220, 220, 220]]
Run Code Online (Sandbox Code Playgroud)

我试图使用列表理解,但它没有正确地平整列表:

flat_list = [item for items in l for item in items]
Run Code Online (Sandbox Code Playgroud)

将混合维数阵列展平为二维数组的最佳方法是什么?

Gua*_*Zuo 5

old_list = [[255, 204, 204], [255, 179, 179], [['250, 250, 250'], ['220, 220, 220']]]                                                                                                         
new_list = []  
for i in old_list:
    if isinstance(i[0], list):
        for j in i:
            new_list.append(j)
    else:
        new_list.append(i)
print new_list
Run Code Online (Sandbox Code Playgroud)

输出是:

[[255, 204, 204], [255, 179, 179], ['250, 250, 250'], ['220, 220, 220']]
Run Code Online (Sandbox Code Playgroud)