列表理解中的if/else
列表理解用于 从其他可迭代的数据中 创建新的列表, 比如图元、字符串、数组、列表等等。Python 中的列表理解也是以 方括号 为界 ,但我们输入的不是里面的数据列表,而是表达式,后面是 for 循环和 if-else 条款。
语法: list_variable = [表达式为序列中的迭代器]。
上面的语法,如果你能联系起来,与 数学中的集合构建器 符号非常相似 。
集合构建器的形式。 S = {x² : x in {0 ... 5}}
列表理解。 S = [x**2 for x in range(6)] 。
如果我们只想从整个元素集合中提取特定数据集的表达式输出,我们可以在for循环后使用if子句。只有当if子句为 **"True "**时,该表达式才会被添加到列表 中。甚至允许有多个if子句, 只有当if子句返回True时,表达式才会留在列表中。
语法。[如果条件下x的表达式]
语法 if-else子句。
语法。[变量if表达式 else表达式为变量序列] 。
if-else子句的用法与三元操作符 ?
注意: 我们必须同时使用if和else关键字,否则 会 出现语法错误 。 我们不能在这里 使用 elif 。
The postif/else in a list comprehensionappeared first oni2tutorials.