1. 直接简单的使用itertools库中的chain类进行操作
示例代码:
import itertools
lst = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 0], [11, 22, 33]]
merge_list = list(itertools.chain.from_iterable(lst))
print(merge_list)
运行效果:
2. 使用列表推导式
示例代码:
import itertools
lst = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 0], [11, 22, 33]]
merge_list = [j for i in lst for j in i] # 先执行第一个for循环
print(merge_list)
运行效果:
3. 使用递归函数
示例代码:
lst = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 0], [11, 22, 33]]
merge_list = sum(lst, [])
print(merge_list)
结合递归原理进一步优化,示例代码:
lst = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 0], [11, 22, 33]]
def merge_list(lst):
return sum(([x] if not isinstance(x, list) else merge_list(x) for x in lst), [])
ans = merge_list(lst)
print(ans)
运行效果: