【问题标题】:Flatten list of whatever objects展平任何对象的列表
【发布时间】:2023-02-08 01:21:15
【问题描述】:

无论列表的值是什么,我都想展平一个列表:

例子:

[1, 2, 1] --> [1, 2]

[[1, 2], [2, 1] --> [1, 2]

现在我有一个代码,它有很多情况,具体取决于列表中对象的类型(第一个示例编号,第二个示例列表)。

有通用的解决方案吗?

【问题讨论】:

标签: python list flatten


【解决方案1】:

您可以编写一个函数来递归地展平列表,如下所示:

def flatten_list(input_list):
    flattened = []
    for item in input_list:
        if isinstance(item, list):
            flattened_item = flatten_list(item)
            flattened.extend(flattened_item)
        else:
            flattened.append(item)
            
    return list(set(flattened))

使用这个函数,我们会得到:

flatten_list([1, 2, 1]) --> [1, 2]
flatten_list([[1, 2], [2, 1]]) --> [1, 2]

【讨论】:

    猜你喜欢
    • 2017-05-22
    • 2022-07-21
    • 2012-08-21
    • 2015-02-03
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 1970-01-01
    相关资源
    最近更新 更多