MST
星途 面试题库

面试题:Python列表访问元素时如何结合条件过滤实现高级筛选

给定一个列表 `nums = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]`,请使用列表推导式和条件判断,从该列表中筛选出所有能被3整除且大于10的元素组成新列表,同时解释列表推导式在这种场景下相较于传统循环的优势。
27.2万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
  1. 使用列表推导式实现筛选
    nums = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    new_nums = [num for num in nums if num % 3 == 0 and num > 10]
    print(new_nums)
    
  2. 列表推导式相较于传统循环的优势
    • 代码简洁:列表推导式用一行代码就完成了筛选和构建新列表的操作,而传统循环通常需要更多的代码行数,例如:
    nums = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    new_nums = []
    for num in nums:
        if num % 3 == 0 and num > 10:
            new_nums.append(num)
    print(new_nums)
    
    对比可知,列表推导式代码更紧凑,可读性更高。
    • 执行效率略高:列表推导式是用 C 语言实现的,在创建列表时速度比普通的 Python 循环更快。它在底层优化了迭代和条件判断的过程,减少了 Python 解释器的循环开销。