我试图使用列表推导式来替换for循环。
原始文件如下:
原始文件如下:
2 3 4 5 6 3
1 2 2 4 5 5
1 2 2 2 2 4
for循环
line_number = 0
for line in file:
line_data = line.split()
Cordi[line_number, :5] = line_data
line_number += 1
输出结果为
[[2 3 4 5 6 3]
[1 2 2 4 5 5]
[1 2 2 2 2 4]]
如果使用列表推导式,根据我的想法是这样的(我必须更改数据类型为int,以便在程序的后面部分绘制图表)
Cordi1= [int(x) for x in line.split() for line in data]
但是输出结果是:
[1, 1, 1]
但是line.split() for line in data
实际上是一个列表,如果我尝试
Cordi1 = [int(x) for x in name of the list]
它能够正常工作,为什么会发生这种情况?
Cordi
是一个numpy数组。 - Martijn Pieters