【问题标题】:Python Advanced Nested Loop: [ (a, b) for a in range(3) for b in range(a) ]Python 高级嵌套循环:[ (a, b) for a in range(3) for b in range(a) ]
【发布时间】:2023-04-05 06:49:02
【问题描述】:

有人可以一步一步地向我解释,了解如何得出这个循环的结果吗?

>>> [ (a, b) for a in range(3) for b in range(a) ]
[(1, 0), (2, 0), (2, 1)]

【问题讨论】:

  • 很抱歉误读了我对 StackOverFlow 的新问题。感谢@jonrsharpe 编辑此内容。但是,让我降低我的声誉并不酷。解释自己会更有利可图。
  • 请停止取消格式化代码。如果您不想投反对票,则有很多指导,例如How to Ask.
  • 好的。我有一个显示错误,几乎没有发现 StackOverFlow。谢谢你的建议。

标签: python nested-loops


【解决方案1】:

相当于这样:

rtrn = []
for a in range(3):
    for b in range(a):
        rtrn.append((a, b))

注意外部循环的第一次迭代不会产生任何输出,因为内部循环是 range(0),它执行零次迭代。

【讨论】:

  • 感谢您的回复和响应,我会尝试考虑但我承认我还没有完全理解。
  • @Xcoder 将打印语句放在各个地方以查看操作顺序通常会有所帮助。也不要为此感到太糟糕。即使作为一个经验丰富的 Python 程序员,我也发现列表推导中的双循环令人困惑,我尽量避免它。哦,如果您对我的回答感到满意,请标记为正确。
  • 我将您的答案标记为正确,这对我来说是必须的。是的,在这些情况下 print() 确实很有用,我完全忘记了。因为我问错了我的问题,所以我的名声下降了。旧的对新的很苛刻......再次非常感谢您的回答。
  • 你没有看到我的额外点,因为我现在没有足够的声望,很抱歉。长辈们应该多多谅解……可惜了。
  • @Xcoder - 你也可以在这个伟大的平台上尝试小程序执行,以查看变量中的每个步骤changes - pythontutor.com
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-22
  • 1970-01-01
  • 1970-01-01
  • 2018-01-29
  • 2016-04-14
  • 1970-01-01
相关资源
最近更新 更多