在 Python 3.6 中使用列表理解将列表附加到列表列表
Appending a list to a list of lists using list comprehensions in Python 3.6
如果你能帮助我,我将不胜感激:
我有文件,我正在阅读和解析它的行。这行是一个字符串列表,我将这些字符串更改为浮点数,然后将该浮点数列表附加到另一个列表列表中,因此我的代码如下所示:
for line in file:
#parsing code...
[lista_flot.append(float(number)) for number in line]
lecturas.append(lista_flot)
但我想知道是否有一种方法可以将这些列表附加到单行中并进行列表推导,使其类似于这样:
for line in file:
#parsin code...
lecturas.append([lista_flot.append(float(number)) for number in line])
此外,为什么当我执行那一行时所有值都变为无?
非常感谢!
您的问题是方法 .append
将修改它所作用的列表,但它 returns 的值为 None
。对于列表理解,您需要要作为表达式附加的实际值。
for line in file:
#parsin code...
lecturas.append([float(number) for number in line])
如果你能帮助我,我将不胜感激:
我有文件,我正在阅读和解析它的行。这行是一个字符串列表,我将这些字符串更改为浮点数,然后将该浮点数列表附加到另一个列表列表中,因此我的代码如下所示:
for line in file:
#parsing code...
[lista_flot.append(float(number)) for number in line]
lecturas.append(lista_flot)
但我想知道是否有一种方法可以将这些列表附加到单行中并进行列表推导,使其类似于这样:
for line in file:
#parsin code...
lecturas.append([lista_flot.append(float(number)) for number in line])
此外,为什么当我执行那一行时所有值都变为无?
非常感谢!
您的问题是方法 .append
将修改它所作用的列表,但它 returns 的值为 None
。对于列表理解,您需要要作为表达式附加的实际值。
for line in file:
#parsin code...
lecturas.append([float(number) for number in line])