给定以下表达式:matrix = [[1,2,3],[4,5,6],[7,8,9]]创建一个矩阵,然后执行列表理解以创建一个平面列表。理解是从左到右的。flat = [x for row in matrix for x in row]随后对于矩阵中的每一行,其值都被平方。如何评价这种理解?squared = [[x**2 for x in row] for row in matrix]
1 回答
千巷猫影
TA贡献1829条经验 获得超7个赞
第一个理解相当于:
flat = []
for row in matrix:
for x in row:
flat.append(x)
第二种理解等价于:
squared = []
for row in matrix:
tmp = []
for x in row:
tmp.append(x**2)
squared.append(tmp)
(除了在封闭范围内创建其他变量,如x, row, tmp。)
添加回答
举报
0/150
提交
取消