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


Posted in Python onJuly 02, 2018

场景:有一个多层嵌套的列表如:[[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 相关文章推荐
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
Jul 04 Python
浅析python中的分片与截断序列
Aug 09 Python
详解python3百度指数抓取实例
Dec 12 Python
python3 发送任意文件邮件的实例
Jan 23 Python
使用tensorflow实现线性回归
Sep 08 Python
python实现n个数中选出m个数的方法
Nov 13 Python
python实现简易动态时钟
Nov 19 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
Jul 22 Python
Windows下Pycharm远程连接虚拟机中Centos下的Python环境(图文教程详解)
Mar 19 Python
Python建造者模式案例运行原理解析
Jun 29 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
Nov 05 Python
python实现学生通讯录管理系统
Feb 25 Python
python中int与str互转方法
Jul 02 #Python
用Python将一个列表分割成小列表的实例讲解
Jul 02 #Python
python绘制圆柱体的方法
Jul 02 #Python
Django开发中的日志输出的方法
Jul 02 #Python
Python中循环后使用list.append()数据被覆盖问题的解决
Jul 01 #Python
Django 连接sql server数据库的方法
Jun 30 #Python
python绘制直线的方法
Jun 30 #Python
You might like
点评山进PR-D3L三波段收音机
2021/03/02 无线电
php缩放图片(根据宽高的等比例缩放)实例介绍
2013/06/09 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
php对象工厂类完整示例
2018/08/09 PHP
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
JavaScript创建类/对象的几种方式概述及实例
2013/05/06 Javascript
jquery队列queue与原生模仿其实现方法分享
2014/03/25 Javascript
Extjs grid panel自带滚动条失效的解决方法
2014/09/11 Javascript
在JavaScript中处理数组之reverse()方法的使用
2015/06/09 Javascript
纯CSS3代码实现滑动开关效果
2015/08/19 Javascript
如何用angularjs制作一个完整的表格
2016/01/21 Javascript
将form表单通过ajax实现无刷新提交的简单实例
2016/10/12 Javascript
浅谈javascript中的事件冒泡和事件捕获
2016/12/28 Javascript
基于vue实现分页/翻页组件paginator示例
2017/03/09 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
2017/03/29 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
2019/11/29 Javascript
详解JavaScript 高阶函数
2020/09/14 Javascript
python字符串连接的N种方式总结
2014/09/17 Python
详解Python编程中包的概念与管理
2015/10/16 Python
Python KMeans聚类问题分析
2018/02/23 Python
pytorch 数据集图片显示方法
2018/07/26 Python
python实现将汉字保存成文本的方法
2018/11/16 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
pytorch实现线性拟合方式
2020/01/15 Python
Python unittest工作原理和使用过程解析
2020/02/24 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
python logging模块的使用详解
2020/10/23 Python
生日宴会答谢词
2014/01/09 职场文书
运动会广播稿20字
2014/02/18 职场文书
大学四年个人的自我评价
2014/02/26 职场文书
2014银行领导班子群众路线对照检查材料思想汇报
2014/09/17 职场文书
和谐家庭事迹材料
2014/12/20 职场文书
《观潮》教学反思
2016/02/17 职场文书
多人股份制合作协议书
2016/03/19 职场文书
解决spring.thymeleaf.cache=false不起作用的问题
2022/06/10 Java/Android
httpclient调用远程接口的方法
2022/08/14 Java/Android