python中多层嵌套列表的拆分方法

yipeiwu_com6年前Python基础

场景:有一个多层嵌套的列表如:[[23],[3,3],[22,22],1,123,[[123,a],2]] 拆分成:

def splitlist(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
 
 
  for sublist in list:
    try: #用try来判断是列表中的元素是不是可迭代的,可以迭代的继续迭代
      for i in sublist:
        alist.append (i)
    except TypeError: #不能迭代的就是直接取出放入alist
      alist.append(sublist)
  for i in alist:
    if type(i) == type([]):#判断是否还有列表
      a =+ 1
      break
  if a==1:
    return printlist(alist) #还有列表,进行递归
  if a==0:
    return alist         
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中多层嵌套列表的拆分方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现字符串加密成纯数字

python实现字符串加密成纯数字

本文实例为大家分享了python实现字符串加密成纯数字的具体代码,供大家参考,具体内容如下 说明:  该加密算法仅仅是做一个简单的加密,安全性就不谈了,哈哈.  算法...

Python编写的com组件发生R6034错误的原因与解决办法

解决该问题的方法可以为调用本程序的exe文件建立一个合适的manifest文件,指定正确的msvcr90.dll版本即可,具体可参照/post/35219.htm ps:可以使用mt.e...

利用python将pdf输出为txt的实例讲解

利用python将pdf输出为txt的实例讲解

一个礼拜前一个同学问我这个事情,由于之前在参加华为的比赛,所以赛后看了一下,据说需要用到pdfminer这个包。于是安装了一下,安装过程很简单: sudo pip install p...

python使用suds调用webservice接口的方法

最近做接口对接,遇到了.net开发的webservice接口,因为python第一次与webservice对接,连问带查,最后使用suds库来实现了 1.安装suds   mac: su...

python用线性回归预测股票价格的实现代码

python用线性回归预测股票价格的实现代码

线性回归在整个财务中广泛应用于众多应用程序中。在之前的教程中,我们使用普通最小二乘法(OLS)计算了公司的beta与相对索引的比较。现在,我们将使用线性回归来估计股票价格。 线性回归是一...