【问题标题】:Understanding the for loop in Python理解 Python 中的 for 循环
【发布时间】:2019-05-01 18:40:28
【问题描述】:
ordered_list = [
    [i, j, k]
    for i in range(0, x+1)
    for j in range(0, y+1)
    for k in range(0, z+1)
    if i + j + k != n]
print(ordered_list) 

输出:

[[0, 0, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [1, 1, 1]]

我不理解这段代码中 for 循环的工作原理。谁能解释一下?

【问题讨论】:

标签: python


【解决方案1】:

这是一个列表推导等价于:

ordered_list = [] 
for i in range(0, x+1): 
    for j in range(0, y+1): 
        for k in range(0, z+1):
             if i + j + k != n:
                 ordered_list.append([i, j, k])

【讨论】:

    【解决方案2】:

    这叫做列表推导,更多细节可以看链接Ref

    # the code you listed above translate to this
    ordered_list = []
    for i in range(0, x+1):
        for j in range(0, y+1):
             for k in range(0, z+1):
                if i + j + k != n:
                    ordered_list.append([i, j, k])
    print(ordered_list) 
    

    【讨论】:

      猜你喜欢
      • 2017-09-11
      • 2013-10-15
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多