python - 如何将混合维数组展平为二维列表?

标签 python list flatten

我知道有很多关于如何展平二维列表的帖子,但这篇有点不同,因为它混合了二维和三维列表:

items = [[255, 204, 204], ..., [255, 179, 179], [[250, 250, 250], ..., [220, 220, 220]]]

我希望这个列表只是二维的:

items = [[255, 204, 204], ..., [255, 179, 179], [250, 250, 250], ..., [220, 220, 220]]

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

flat_list = [item for items in l for item in items]

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

最佳答案

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

输出是:

[[255, 204, 204], [255, 179, 179], ['250, 250, 250'], ['220, 220, 220']]

关于python - 如何将混合维数组展平为二维列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45882359/

相关文章:

python - 有条件地用两个列表替换项目

java - 使用 Java 在 MAC OSX 和 Linux 中目录中的文件和目录列表

f# - 如何将 Option.flatten 与 None 一起使用?

python matplotlib 以小时格式设置 xticks

python - 支付员工

python - 解析此序列的最佳方法?

python - 如何使用 Python 关闭上下文管理器

list - 检查列表是否是回文。如果没有,插入元素使其成为回文。 (序言)

python - 如果项目数量未知,如何计算此展平数组函数的运行时复杂度?

javascript - 如何在 jQuery 中展平数组?