输入一个嵌套列表,再输入层数,求该层的元素个数。如果求第二层次的元素个数,但是第二层次还有第三层次嵌套,则嵌套列表算一个元素。
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,表示该列表本身也是一个元素。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 2