码迷,mamicode.com
首页 > 编程语言 > 详细

python(序列递归)【输出原子级别元素。。。】

时间:2015-07-16 02:11:03      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:

  晚上回去复习下原来的资料,返现Codebook中有个关于“展开一个嵌套序列”的话题。

  任务说明:序列中的子项可能是序列,子序列的子项仍可能是序列,以此类推,则序列嵌套可以达到任意的深度。需要循环遍历一个序列,将其中所有的子序列展开成一个单一的、只具备基本子项的序列。

  举例来说就是形如如下序列a:

  a = [(1, [2, 3, (7, 8)],), 4, [5, 6, (9, 10)]],根据资料上的代码输出的结果如下:

  技术分享(图1),而我可能对于理解任务中所说的原子级别的元素可能有点问题。我根据自己的理解就是想将这个序列一个个的吐出来。

  例如形如[2, 3, (7, 8)] (9, 10)还是可以再拆分的,图1的结果只是到了第二层时遇到序列就不拆分了,所以自己动手来做个这样的实现,使得最后的结果如图2所示:

  技术分享(图2)。

  实现的代码过程其实就是判断加递归。。

  代码如下:

  

def flatten(sequence):
    for i in sequence:
        if isinstance(i, (list, tuple)):
            flatten(i)
            if not isinstance(i, (list, tuple)):
                for subitem in i:
                    print subitem
        else:
           print i

 

 看到这样的文章顺便有了自己的想法就顺便思考下,感觉这样的处理还是有应用价值的,记录下来。。方便以后使用。。。。

 

  

python(序列递归)【输出原子级别元素。。。】

标签:

原文地址:http://www.cnblogs.com/Tony-zhangl/p/4649963.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!