zoukankan      html  css  js  c++  java
  • python(序列递归)【输出原子级别元素。。。】

      晚上回去复习下原来的资料,返现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
    

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

      

  • 相关阅读:
    LeetCode "Median of Two Sorted Arrays"
    LeetCode "Distinct Subsequences"
    LeetCode "Permutation Sequence"

    LeetCode "Linked List Cycle II"
    LeetCode "Best Time to Buy and Sell Stock III"
    LeetCode "4Sum"
    LeetCode "3Sum closest"
    LeetCode "3Sum"
    LeetCode "Container With Most Water"
  • 原文地址:https://www.cnblogs.com/kirago/p/4649963.html
Copyright © 2011-2022 走看看