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读取TXT到数组及列表去重后按原来顺序排序的方法
Jun 26 Python
python操作redis的方法
Jul 07 Python
使用Python的Twisted框架编写非阻塞程序的代码示例
May 25 Python
Python数据分析之如何利用pandas查询数据示例代码
Sep 01 Python
python的pandas工具包,保存.csv文件时不要表头的实例
Jun 14 Python
pyqt5使用按钮进行界面的跳转方法
Jun 19 Python
在python plt图表中文字大小调节的方法
Jul 08 Python
20行Python代码实现视频字符化功能
Apr 13 Python
Python基于DB-API操作MySQL数据库过程解析
Apr 23 Python
python3中数组逆序输出方法
Dec 01 Python
python实现启动一个外部程序,并且不阻塞当前进程
Dec 05 Python
Python实现粒子群算法的示例
Feb 14 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
在普通HTTP上安全地传输密码
2007/07/21 PHP
深入PHP magic quotes的详解
2013/06/17 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
2013/06/28 PHP
老生常谈PHP位运算的用途
2017/03/12 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
window.requestAnimationFrame是什么意思,怎么用
2013/01/13 Javascript
jQuery中not()方法用法实例
2015/01/06 Javascript
关于JS变量和作用域详解
2016/07/28 Javascript
浅谈Vue初学之props的驼峰命名
2018/07/19 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
[40:10]2015国际邀请赛全明星表演赛
2015/08/07 DOTA
[46:28]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
python 实现插入排序算法
2012/06/05 Python
Python3使用requests发闪存的方法
2016/05/11 Python
详解Python装饰器由浅入深
2016/12/09 Python
Python进度条实时显示处理进度的示例代码
2018/01/30 Python
详谈在flask中使用jsonify和json.dumps的区别
2018/03/26 Python
Django实战之用户认证(用户登录与注销)
2018/07/16 Python
python模糊图片过滤的方法
2018/12/14 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
Python解析json时提示“string indices must be integers”问题解决方法
2019/07/31 Python
python实现画循环圆
2019/11/23 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
python入门之基础语法学习笔记
2020/02/08 Python
python 连续不等式语法糖实例
2020/04/15 Python
Python telnet登陆功能实现代码
2020/04/16 Python
德国狗狗用品在线商店:Schecker
2017/03/17 全球购物
Swisse官方海外旗舰店:澳大利亚销量领先,自然健康品牌
2017/12/15 全球购物
Feelunique德国官方网站:欧洲最大的在线美容零售商
2019/07/20 全球购物
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
2016/08/13 面试题
学生期末评语大全
2014/04/30 职场文书
2014学习优秀共产党员先进事迹思想汇报
2014/09/14 职场文书
大专生自我鉴定怎么写
2014/09/16 职场文书
运动会观后感
2015/06/09 职场文书
Mysql数据库中datetime、bigint、timestamp来表示时间选择,谁来存储时间效率最高
2021/08/23 MySQL
使用Docker容器部署rocketmq单机的全过程
2022/04/03 Servers