MST

星途 面试题库

面试题:Python 列表长度计算在复杂数据结构优化中的应用

有一个多层嵌套的列表结构,例如 [[1, 2, [3, 4]], [5, 6], [7, [8, 9]]],现在需要遍历这个结构,统计所有最内层列表元素的总数量。请用Python编写一个函数实现此功能,说明如何通过计算每层列表长度来优化遍历过程。
34.8万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
def count_inner_elements(lst):
    count = 0
    for sub_lst in lst:
        if isinstance(sub_lst, list):
            count += count_inner_elements(sub_lst)
        else:
            count += 1
    return count

在这个函数中,递归地遍历列表。当遇到一个子列表时,递归调用函数来处理该子列表,从而确保所有层次的子列表都被处理。通过对每层列表长度的计算,可以知道需要处理的元素数量,避免不必要的重复计算,例如在遍历外层列表时,通过len(lst)可以明确知道要处理的子列表数量,对于每个子列表同样可以用len(sub_lst)提前知晓内部元素数量情况,以此优化遍历过程。如果直接遍历,可能会在一些不必要的判断上浪费时间,通过提前计算长度,可以有针对性地进行处理。