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基础教程之常用运算符
Aug 29 Python
python中enumerate函数用法实例分析
May 20 Python
python获取list下标及其值的简单方法
Sep 12 Python
Python连接数据库学习之DB-API详解
Feb 07 Python
python的变量与赋值详细分析
Nov 08 Python
python学习--使用QQ邮箱发送邮件代码实例
Apr 16 Python
Python 调用 Windows API COM 新法
Aug 22 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
Sep 23 Python
基于Python新建用户并产生随机密码过程解析
Oct 08 Python
python使用配置文件过程详解
Dec 28 Python
PyCharm 2020 激活到 2100 年的教程
Mar 25 Python
Python如何使用ElementTree解析xml
Oct 12 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
UTF8编码内的繁简转换的PHP类
2009/07/09 PHP
PHP获取photoshop写入图片文字信息的方法
2015/03/31 PHP
HTA版JSMin(省略修饰语若干)基于javascript语言编写
2009/12/24 Javascript
基于jquery的页面划词搜索JS
2010/09/14 Javascript
Jquery replace 字符替换实现代码
2010/12/02 Javascript
Ajax 数据请求的简单分析
2011/04/05 Javascript
Javascript 倒计时源代码.(时.分.秒) 详细注释版
2011/05/09 Javascript
Jquery实现网页跳转或用命令打开指定网页的解决方法
2013/07/09 Javascript
JavaScript不使用prototype和new实现继承机制
2014/12/29 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
2017/01/13 Javascript
Vue 短信验证码组件开发详解
2017/02/14 Javascript
JS使用JSON.parse(),JSON.stringify()实现对对象的深拷贝功能分析
2019/03/06 Javascript
egg.js的基本使用和调用数据库的方法示例
2019/05/18 Javascript
vue+elementUI(el-upload)图片压缩,默认同比例压缩操作
2020/08/10 Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
2020/09/04 Javascript
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
python模拟enum枚举类型的方法小结
2015/04/30 Python
Python聚类算法之DBSACN实例分析
2015/11/20 Python
python多进程控制学习小结
2018/10/31 Python
python scrapy爬虫代码及填坑
2019/08/12 Python
HTML5 通信API 跨域门槛将不再高、数据推送也不再是梦
2013/04/25 HTML / CSS
HTML5 图片预加载的示例代码
2020/03/25 HTML / CSS
博士研究生自我鉴定范文
2013/12/04 职场文书
土木建筑学生自我评价
2014/01/14 职场文书
小学生美德少年事迹
2014/02/02 职场文书
行政文秘岗位职责范本
2014/02/10 职场文书
电视节目策划方案
2014/05/16 职场文书
车间核算员岗位职责
2014/07/01 职场文书
教师对照四风自我剖析材料
2014/09/30 职场文书
2015年试用期自我评价范文
2015/03/10 职场文书
卫生主题班会
2015/08/14 职场文书
python numpy中setdiff1d的用法说明
2021/04/22 Python
如何制作自己的原生JavaScript路由
2021/05/05 Javascript
jackson json序列化实现首字母大写,第二个字母需小写
2021/06/29 Java/Android
《遗弃》开发商删推文要跑路?官方回应:还在开发
2022/04/03 其他游戏
MySQL导致索引失效的几种情况
2022/06/25 MySQL