我不懂这段代码。我想把他分解

时间:2019-08-07 02:44:22

标签: python

我不太理解本段的写法。 源代码如下。

line = [cell.value for cell in col if cell.value != None]

我想了解如何编写此代码。 我尝试使用循环,但结果不同。

for cell in col:
   if cell.value != None:
       line = cell.value

4 个答案:

答案 0 :(得分:1)

您非常亲密。仅供参考,单行语法称为list comprehension。等价的东西。

line = list()
for cell in col:
   if cell.value != None:
       line.append(cell.value)

答案 1 :(得分:0)

您将继续覆盖line变量,但它应该是一个列表:

line = []
for cell in col:
   if cell.value != None:
       line.append(cell.value)

如您所见,一个衬里有两个方括号,因此它成为一个列表。

答案 2 :(得分:0)

您的方向正确,但是这里的line将是一个数组,每个值都附加在数组中

因此代码如下所示

line = []
for cell in col:
   if cell.value != None:
       line.append(cell.value)

答案 3 :(得分:0)

line = [cell.value for cell in col if cell.value != None]
print(line)

line = []
for cell in col:
   if cell.value != None:
       line.append(cell.value)
print(line)

line = list()
for cell in col:
   if cell.value != None:
       line.append(cell.value)
print(line)

转换为空列表,然后像以前一样写入内容,然后通过追加将其添加到列表中。我在这里放了我的打印行,您可以忽略它。