为了账号安全,请及时绑定邮箱和手机立即绑定

列表推导式中表达式的执行顺

列表推导式中表达式的执行顺

慕标5832272 2021-08-24 18:01:50
给定以下表达式: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。)


查看完整回答
反对 回复 2021-08-24
  • 1 回答
  • 0 关注
  • 133 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信