我是python的初学者,所以这可能很简单,但我不确定以下代码的含义。
q=[start]
while q:
这是否意味着当列表中至少有一个元素执行时,q为空时q变为false? 编辑:我现在无法执行它,我需要快速找到它。
答案 0 :(得分:2)
行q = [start]
表示创建名为q
的变量,并为其指定值[start]
。在这种情况下,它将创建一个包含一个元素的列表:变量start
的值。它的语法与q = [1, 2]
完全相同,但它使用的是变量而不是常量值。
在此之后,行while q:
是Python的类型转换系统的使用(或滥用)。虽然循环需要一个布尔条件来知道它们是否应该重复,所以你的代码等同于while bool(q):
。要了解其工作原理,请查看可能的案例:
bool([1]) == True # This applies for any non-empty list
bool([]) == False # This applies to any empty list
因此,while q:
的含义实际上是'而q
是非空的'。