MST

星途 面试题库

面试题:Python列表切片遍历的复杂逻辑实现

给定一个嵌套列表`nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]`,请通过切片遍历的方式,将其按行优先的顺序展开成一个一维列表,并且只保留其中能被3整除的数字,最后返回这个新的一维列表。
32.4万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
new_list = [num for sublist in nested_list for num in sublist if num % 3 == 0]
print(new_list)

上述代码解释:

  1. 使用嵌套的列表推导式,外层循环遍历nested_list中的每一个子列表sublist,内层循环遍历子列表中的每一个数字num
  2. 使用条件判断num % 3 == 0筛选出能被3整除的数字。
  3. 最终生成符合条件的一维列表new_list