关于递归的一道题型

            item = [[1, 2],3, [4,[5,[6,7]]]]
             def foo(item):
                for i in item:
                    if isinstance(i, list):  # print(isinstance(1, list)) False 1不是列表对象
                        foo(i)
                    else:
                        print(i, end=‘ ‘)
            
            foo(item)

            结果: 1,2,3,4,5,6,7

              在这个递归函数中,首先要将item里面的元素看成是三个元素,这样才能找到突破口,item里面包含[1,2] ,  3  ,  [4,[,5[6,7]]]这么三个大的元素, 在执行函数时, 第一次i 的值为[1,2] 判断[1,2]是列表的对象, 然后执行下一步,继续调用foo函数,这时候i将它的值传递给item,那么item在这里就是[1,2], 继续执行下一步for循环,这时i就去[1,2]列表中的索引为0 的第一位数字1,然后再继续执行下一步,很显然1并不是列表对象,所以执行else将1进行打印,接下来按照同样的方法将后面的数字依次打印出来

            相关文章
            相关标签/搜索
            王中王鉄算盘开奖结果小说 临沭县| 左权县| 治县。| 丰原市| 鱼台县| 凌云县| 镇坪县| 启东市| 安阳县| 乃东县| 武清区| 黄龙县| 武威市| 保亭| 大关县| 微山县| 广平县| 石家庄市| 类乌齐县| 盈江县| 昭苏县| 遵义市| 台东县| 陵川县| 社旗县| 潍坊市| 定边县| 桃江县| 绥阳县| 惠来县| 景谷| 泽库县| 江北区| 和林格尔县| 阜宁县| 东平县| 安丘市| http://fa.hz0j1r9vo.fun http://fa.hz0j0r9vo.fun http://fa.hz0j0r0vo.fun http://fa.hz0j2r9vo.fun http://fa.hz0j0r0vo.fun