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 相关文章推荐
Python中的测试模块unittest和doctest的使用教程
Apr 14 Python
使用python实现省市三级菜单效果
Jan 20 Python
Python第三方库的安装方法总结
Jun 06 Python
深入理解 Python 中的多线程 新手必看
Nov 20 Python
在Pycharm中执行scrapy命令的方法
Jan 16 Python
计算机二级python学习教程(2) python语言基本语法元素
May 16 Python
简单了解python PEP的一些知识
Jul 13 Python
python数据处理之如何选取csv文件中某几行的数据
Sep 02 Python
python单向循环链表原理与实现方法示例
Dec 03 Python
opencv python图像梯度实例详解
Feb 04 Python
Python如何转换字符串大小写
Jun 04 Python
Python3爬虫ChromeDriver的安装实例
Feb 06 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
如何利用php+mysql保存和输出文件
2006/10/09 PHP
CodeIgniter php mvc框架 中国网站
2008/05/26 PHP
Cakephp 执行主要流程
2010/03/24 PHP
mac下使用brew配置环境的步骤分享
2011/05/23 PHP
js调用flash的效果代码
2008/04/26 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
2013/10/08 Javascript
js定时器怎么写?就是在特定时间执行某段程序
2013/10/11 Javascript
JavaScript两种跨域技术全面介绍
2014/04/16 Javascript
JS数组(Array)处理函数整理
2014/12/07 Javascript
AngularJS通过$sce输出html的方法
2016/09/22 Javascript
js html5 css俄罗斯方块游戏再现
2016/10/17 Javascript
让nodeJS支持ES6的词法----babel的安装和使用方法
2017/07/31 NodeJs
nodejs动态创建二维码的方法
2017/08/12 NodeJs
karma+webpack搭建vue单元测试环境的方法示例
2018/05/24 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
JavaScript实现新年倒计时效果
2018/11/17 Javascript
JS监听滚动和id自动定位滚动
2018/12/18 Javascript
详解iview的checkbox多选框全选时校验问题
2019/06/10 Javascript
优化Vue中date format的性能详解
2020/01/13 Javascript
JS实现可控制的进度条
2020/03/25 Javascript
react使用CSS实现react动画功能示例
2020/05/18 Javascript
Vue前端判断数据对象是否为空的实例
2020/09/02 Javascript
python如何实现远程控制电脑(结合微信)
2015/12/21 Python
python仿抖音表白神器
2019/04/08 Python
python线性插值解析
2020/07/05 Python
CSS3 滤镜 webkit-filter详细介绍及使用方法
2012/12/27 HTML / CSS
美团网旗下网上订餐平台:美团外卖
2020/03/05 全球购物
北京某科技有限公司C# .net笔试题
2014/09/27 面试题
毕业自我鉴定范文
2013/11/06 职场文书
2014年国培研修感言
2014/03/09 职场文书
收款委托书范本
2014/09/11 职场文书
个人职业及收入证明
2014/10/13 职场文书
个人整改方案范文
2014/10/25 职场文书
2014年计生协会工作总结
2014/11/21 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书
python实现简单的名片管理系统
2021/04/26 Python