python中多层嵌套列表的拆分方法
场景:有一个多层嵌套的列表如:[[23],[3,3],[22,22],1,123,[[123,a],2]]拆分成:
defsplitlist(list): ''' 现有一个列表,里面元素包括数字,字母,列表,字典等元素,现在要将字典去掉,并将列表 分解成字母,或数字元素如:[[1,2,3],2,3,[1,3,[12,22]],'a',12] 经函数处理后[1,2,3,2,3,1,3,12,22,'a',12] ''' alist=[] a=0 forsublistinlist: try:#用try来判断是列表中的元素是不是可迭代的,可以迭代的继续迭代 foriinsublist: alist.append(i) exceptTypeError:#不能迭代的就是直接取出放入alist alist.append(sublist) foriinalist: iftype(i)==type([]):#判断是否还有列表 a=+1 break ifa==1: returnprintlist(alist)#还有列表,进行递归 ifa==0: returnalist list=[[1,2,3],2,3,[1,3,[12,22,[2,3]]],'a',12,range(10)] a=printlist(list) print(a)
打印结果:
[1,2,3,2,3,1,3,12,22,2,3,'a',12,0,1,2,3,4,5,6,7,8,9]
分析:运用递归一层一层的去掉嵌套列表的数
以上这篇python中多层嵌套列表的拆分方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。