如果想要将一个二维列表 matrix = [[1, 2], [3, 4], [5, 6]] 扁平化为 [1, 2, 3, 4, 5, 6] ,应 使用下列哪个列表推导式?( )
A:[item for item in matrix]
B:[item for row in matrix for item in row]
C:[row for row in matrix for item in row]
D:[row for item in matrix for item in row]
正确答案:B
答案解析
二维列表的扁平化需遍历外层每个子列表,再遍历子列表中的每个元素。列表推导式中,左侧表达式决定输出元素的来源,右侧嵌套循环按从左到右顺序执行。若左侧表达式引用的是内层循环变量,则输出为内层元素;若引用外层变量,则保留子列表结构。多个for循环在列表推导式中按书写次序嵌套执行,作用域上后一个可访问前一个的变量。表达式的值由其绑定的迭代变量决定,错误的变量选择会导致元素类型或层级不符。
试卷来源:202606 CCF-GESP编程能力等级认证Python四级真题