• 技术文章 >Python技术 >Python基础教程

    Python中如何拆分多层嵌套列表

    2020-11-04 16:04:29原创3578

    今天小编为大家带来拆分python中的多层嵌套列表,一起来学习吧。

    场景:有一个多层嵌套的列表如:[[23],[3,3],[22,22],1,123,[[123,a],2]] 拆分成:


    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    <p style="line-height: 1.75em;"><span style="font-family: 微软雅黑, "Microsoft YaHei"; font-size: 14px;">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)<br></span></p>


    打印结果:


    [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学习网教学中心

    专题推荐:python中拆分多层嵌套列表
    上一篇:Python函数嵌套变量的使用方法 下一篇:Python基础:return和break的不同

    相关文章推荐

    • python函数嵌套时怎么调用• 使用yield压平嵌套字典有多简单?• python中list可以嵌套吗• python如何嵌套列表• python怎么循环嵌套• python中if怎么嵌套if• Python函数嵌套变量的使用方法

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网