【问题标题】:Python using while loop with a list namePython使用带有列表名称的while循环
【发布时间】:2017-02-25 12:06:26
【问题描述】:

我是 python 的初学者,所以这可能很容易,但我不确定以下代码的含义。

q=[start]
    while q:

这是否意味着当列表中至少有一个元素 q 执行它并且 q 为空时变为 false ? 编辑:目前无法执行,需要尽快找到。

【问题讨论】:

  • q = [start] 表示'创建一个名为q 的列表,并将变量start 作为第一个元素'。 while q: 表示“重复以下缩进块直到它为空”(因为列表强制为布尔值 True 非空时和 False 时为空)。缩进是你在这里展示的吗?如果是这样,它将无法正常运行。
  • 这只是代码的一部分。所以我的假设是正确的。感谢您的评论,您可以将其写为答案,我会接受它。

标签: python list while-loop


【解决方案1】:

q = [start] 行的意思是创建一个名为q 的变量,并将值[start] 赋给它。在这种情况下,它将创建一个包含一个元素的列表:变量start 的值。它与q = [1, 2] 的语法完全相同,但它使用变量而不是常量值。

在此之后,while q: 行是对 Python 类型转换系统的使用(或滥用)。 While 循环需要一个布尔条件来知道它们是否应该重复,所以你的代码相当于while bool(q):。要了解它是如何工作的,让我们检查一下可能的情况:

bool([1]) == True # This applies for any non-empty list
bool([]) == False # This applies to any empty list

因此,while q: 的含义实际上是“而q 非空”。

【讨论】:

    猜你喜欢
    • 2019-05-06
    • 2021-11-13
    • 2023-03-30
    • 2021-08-21
    • 1970-01-01
    • 2013-10-30
    • 1970-01-01
    • 2013-07-18
    • 1970-01-01
    相关资源
    最近更新 更多