如何分离嵌套列表python

时间:2017-11-16 16:30:45

标签: python-2.7 list

我正在尝试从列表中的项目创建新的列表构建 例如list = [[math,chemistery],biology]

我想创建新列表

new_list = [math, chemistery, biology]

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

以下代码适用于嵌套的项目实际上是列表的列表或子类,并且没有进一步的嵌套。

new_list = []
for item in old_list:
    if isinstance(item, list):
        new_list.extend(item)        # expand nested items
    else:
        new_list.append(item)        # simply append one

如果您有其他类似列表的类型,您可以切换到
isinstance(item, (list, other_list_like_class))

提示:最好不要影子类名称' list'通过为其赋值。

如果存在进一步的嵌套,只需添加递归,如

def expand_nested_list(old_list):
    new_list = []
    for item in old_list:
        if isinstance(item, list):
            new_list.extend(expand_nested_list(item))
        else:
            new_list.append(item)
    return new_list

这将导致
expand_nested_list([[[1], 2], 3]) # returns [1, 2, 3]

答案 1 :(得分:0)

您可以使用numpy hstack

import numpy as np
my_list = [['math', 'chemistery'], 'biology']
list(np.hstack(my_list)) # returns ['math', 'chemistery', 'biology']
相关问题