最近在编写工具对csv文件进行自动化填充的时候,遇到一个比较有意思的小问题,作为一个函数返回值,将多个数据结果作为list元素返回,返回值就成了一个多层嵌套的list。
a = [arg1,arg2,[arg3,[arg4,],]
返回值作为修改填充的参数,在嵌套的列表中自然不适合提取遍历自动填充,因此就想到有没有方法将嵌套的list转成单层的列表便于数据提取。在没有现成模块方法的情况下,最简单的方法就是使用一个空列表,遍历嵌套列表,将元素顺次追加到空列表中:
a = [arg1,arg2,[arg3,[arg4,],]
b = []
for i in a:
if type(i) is not list:
b.append(i)
...
多层的嵌套需要多次循环遍历,因此构造递归函数深度遍历:
def listFlatten(src):
tmp = []
for i