Python 使用带有列表名称的 while 循环

标签 python list while-loop

我是 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/

相关文章:

python - 如何使用最小比例 python pygal

python - 如何解决索引错误: list assignment index out of range error?

python - 在 tastypie-swagger 中指定参数

Python/Pygame : List overwrites itself apparently

c - Else 语句在 strcmp 中返回错误结果(比较哈希值)(已更新)

python - Django:子进程连续输出到 HTML View

python - 获取Python列表的所有元素,包括子列表

python - python 中的变异列表

python - 如何解决 IndexError : list assignment index out of range using array inside loop in Python

php - Php 和 MySQL 中的 While 语句