我正在尝试从列表中的项目创建新的列表构建
例如list = [[math,chemistery],biology]
我想创建新列表
new_list = [math, chemistery, biology]
感谢您的帮助
答案 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']