m0_67744870 2022-06-05 17:45 采纳率: 78.9%
浏览 17
已结题

Unnest list中recursion的问题

这个function的目的是要unnest list
比如现在我输入:unnest([[[3, 0], 1], 4, 2])。得到的结果是[1,4,2]。正确答案应该是[3,0,1,4,2]
14.15行是我想用recursion做,但是这块好像有问题,求指导。

img

  • 写回答

1条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-06-05 18:15
    关注

    使用递归的话后面就不用再判断了,递归回来的列表要加在现有的列表里:

    def unnest(alist):
        if alist==[]:
            return []
        else:
            answer=[]
            for ele in alist:
                if type(ele)==int:
                    answer.append(ele)
                elif type(ele)==list:
                    answer += unnest(ele)
        return answer
    

    结果:

    print(unnest([[[3,0],1],4,2]))
    [3, 0, 1, 4, 2]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月13日
  • 已采纳回答 6月5日
  • 创建了问题 6月5日

悬赏问题

  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程