2301_76777851 2023-04-09 23:15 采纳率: 100%
浏览 157
已结题

计算嵌套列表某一层次的元素数量

输入一个嵌套列表,再输入层数,求该层的元素个数。如果求第二层次的元素个数,但是第二层次还有第三层次嵌套,则嵌套列表算一个元素。

  • 写回答

5条回答 默认 最新

  • 语言-逆行者 2023-04-09 23:24
    关注

    基于new Bing的回答:

    def count_elements_in_layer(nested_list, layer):
        if layer == 1:
            return len(nested_list)
        count = 0
        for item in nested_list:
            if isinstance(item, list):
                count += count_elements_in_layer(item, layer-1)
            else:
                count += 1
        return count
    
    
    

    其中,nested_list 是输入的嵌套列表,layer 是要求的层数。如果 layer 等于 1,直接返回列表长度。否则,遍历列表中的每个元素,如果元素是一个列表,则递归调用该函数继续遍历下一层;否则,将计数器加 1。最后返回计数器的值即可。

    注意,题目要求如果目标层次还有更深层次的嵌套,则嵌套列表算作一个元素。因此,在遍历过程中,当遇到一个列表时,不仅需要递归调用该函数,还需要将计数器加 1,表示该列表本身也是一个元素。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 4月18日
  • 已采纳回答 4月10日
  • 创建了问题 4月9日