首页 > 解决方案 > 如何展平混合整数和字符串的python列表

问题描述

我试图在 python 代码中展平以下列表。我一直遇到'int is not iterable error' 我知道这是由于列表既是字符串又是整数。我该如何解释?对不起,编码的第一个月......我知道这是基本的。

list_1 = [1,2,[3,[4,5],6],7,8,['hardware'],[['software'], 'interface']]


def flatten (list):
    flat = []
    for sublist in list_1:
        for item in sublist:
            flat.append(item)

    print(flat)
    return


flatten(list_1)

标签: pythonlistflatten

解决方案


在尝试将其展平之前,您应该检查每个项目是否是一个列表。

def flatten(list_):
    flat = []
    for item in list_:
        if isinstance(item, list):
            flat.extend(flatten(item))
        else:
            flat.append(item)
    return flat

推荐阅读