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版的文曲星猜数字游戏代码
Sep 02 Python
python 远程统计文件代码分享
May 14 Python
python中os和sys模块的区别与常用方法总结
Nov 14 Python
python版本五子棋的实现代码
Dec 11 Python
python读写配置文件操作示例
Jul 03 Python
python pygame实现滚动横版射击游戏城市之战
Nov 25 Python
Python类中的装饰器在当前类中的声明与调用详解
Apr 15 Python
python使用列表的最佳方案
Aug 12 Python
python collections模块的使用
Oct 16 Python
解决PyCharm无法使用lxml库的问题(图解)
Dec 22 Python
Python机器学习之基于Pytorch实现猫狗分类
Jun 08 Python
一小时学会TensorFlow2之基本操作2实例代码
Sep 04 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
在win7中搭建Linux+PHP 开发环境
2014/10/08 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
PHP微信开发用Cache 解决数据缓存
2016/07/11 PHP
js删除所有的cookie的代码
2010/11/25 Javascript
一款Jquery 分页插件的改造方法(服务器端分页)
2011/07/11 Javascript
动态创建样式表在各浏览器中的差异测试代码
2011/09/13 Javascript
JS 页面计时器示例代码
2013/10/28 Javascript
jquery form 加载数据示例
2014/04/21 Javascript
Ext修改GridPanel数据和字体颜色、css属性等
2014/06/13 Javascript
JavaScript汉诺塔问题解决方法
2015/04/21 Javascript
JavaScript动态添加事件之事件委托
2016/07/12 Javascript
最佳的JavaScript错误处理实践
2016/07/16 Javascript
JavaScript数据类型学习笔记分享
2016/09/01 Javascript
设置cookie指定时间失效(实例代码)
2017/05/28 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
2017/09/05 Javascript
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
js实现登录注册框手机号和验证码校验(前端部分)
2017/09/28 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
Vue核心概念Getter的使用方法
2019/01/18 Javascript
Vue数据绑定实例写法
2019/08/06 Javascript
在Webpack中用url-loader处理图片和字体的问题
2020/04/28 Javascript
有关Python的22个编程技巧
2018/08/29 Python
Python关于excel和shp的使用在matplotlib
2019/01/03 Python
PyQt4编程之让状态栏显示信息的方法
2019/06/18 Python
Python扫描端口的实现
2021/01/25 Python
罗兰·穆雷官网:Roland Mouret
2018/09/28 全球购物
时尚圣经:The Fashion Bible
2019/03/03 全球购物
2014自荐信的写作技巧
2014/01/28 职场文书
领导干部对照检查材料
2014/08/24 职场文书
上党课的心得体会
2014/09/02 职场文书
五四演讲稿范文
2014/09/03 职场文书
纪念九一八事变演讲稿1000字
2014/09/14 职场文书
花田少年史观后感
2015/06/16 职场文书
热爱劳动主题班会
2015/08/14 职场文书
文艺有韵味的诗句(生命类、亲情类...)
2019/07/11 职场文书
weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法
2022/01/22 MySQL