我是 python 初学者,所以这可能很简单,但我不确定以下代码的含义。
q=[start]
while q:
这是否意味着当列表中至少有一个元素时q执行它并且当它为空时q变为假? 编辑:我现在无法执行它,我需要快速找到它。
最佳答案
行 q = [start]
表示创建一个名为 q
的变量,并为其分配值 [start]
。在本例中,它将创建一个包含一个元素的列表:变量 start
的值。它的语法与 q = [1, 2]
完全相同,但它使用变量而不是常量值。
在此之后,while q:
行是对 Python 类型转换系统的使用(或滥用)。 While 循环需要一个 bool 条件来知道它们是否应该重复,因此您的代码相当于 while bool(q):
。要了解其工作原理,让我们检查一下可能的情况:
bool([1]) == True # This applies for any non-empty list
bool([]) == False # This applies to any empty list
因此,while q:
的含义实际上是“while q
非空”。
关于Python 使用带有列表名称的 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40070584/