【发布时间】:2015-11-10 11:33:19
【问题描述】:
我编写了一些代码来打开一个文本文件并获取我需要的列并将其分配给一个变量。 for 循环之前的一切都正常。现在在循环中,我想将g 中的所有数字作为双打列表,但一直以来我只有最后一个lis1。
提前致谢。
代码:
import numpy as N
import math as M
with open('File.txt',"r") as f:
lis1 = [float(line.split()[4]) for line in f]
f.seek(0)
lis2 = [float(line.split()[6]) for line in f]
f.seek(0)
lis3 = [float(line.split()[8]) for line in f]
f.seek(0)
lis4 = [float(line.split()[10]) for line in f]
f.seek(0)
lis5 = [float(line.split()[12]) for line in f]
f.seek(0)
lis6 = [float(line.split()[14]) for line in f]
i= 0
j = i+1
for t in (lis1):
g = ((lis1[i:j]))
k = ((lis2[i:j]))
kl = ((lis3[i:j]))
kk = ((lis4[i:j]))
kk2 = ((lis5[i:j]))
kk3 = ((lis6[i:j]))
i = i+1
j = j+1
【问题讨论】:
-
有趣的是你有最后一个元素。根据您的代码,它应该是第一个。
-
你更新 for 循环中的 i, j 值了吗?
-
@zetysz 是的。我更新它们。如果我打印 g(例如),它会显示所有这些,但只将最后一个数字分配给 g。
-
目前还不清楚您要在这里做什么。
-
在循环的每次迭代中,您都会覆盖变量。这就是为什么只保留最后一个。你想达到什么目标?