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 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?