【问题标题】:python 3 double loop comprehension clarificationpython 3双循环理解说明
【发布时间】:2018-09-11 05:35:36
【问题描述】:

我对双 for 循环理解很好奇。

理解

multilist = [[row*col for col in range(colNum)] for row in range(rowNum)]

普通双循环

 for row in range(rowNum):
    for col in range(colNum):
        multilist[row][col] = row*col

这两种方法产生相同的结果。例如,我插入 3 作为我的行和 5 作为我的列,它们会产生

 [[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8]]

我的问题是为什么 col for 循环被放置为理解中的外循环而不是行 for 循环?我欢迎任何解释。 谢谢你。

【问题讨论】:

    标签: python-3.x for-loop for-comprehension


    【解决方案1】:

    在您的列表理解中,最远的 for 循环 (rowNum) 会首先执行。

    multilist = [[row*col for col in range(colNum)] for row in range(rowNum)]
    

    因此,col for-loop 仍然是理解中的内循环。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-27
      • 1970-01-01
      相关资源
      最近更新 更多