【发布时间】:2020-02-20 09:13:06
【问题描述】:
我在一段用 python 编写的代码中遇到了以下行。无法理解。 请详细说明。
pancake_row = [p == '+' for p in line.split()[0]]
【问题讨论】:
标签: python-3.x
我在一段用 python 编写的代码中遇到了以下行。无法理解。 请详细说明。
pancake_row = [p == '+' for p in line.split()[0]]
【问题讨论】:
标签: python-3.x
嗯,这是一个列表推导式,有点像只返回一个列表的浓缩 for 循环。
line 是一个 str(但我们只从代码中知道这一点,因为 'split' 是一个 str 方法)
line.split()从 str 生成一个列表(在空格处拆分)
line.split()[0] 是该列表的第一个元素;
p == '+' 返回一个布尔值,True 或 False,并且只会运行一次;
所以唯一可能的输出是[True] 或[False]
【讨论】: