您可以这样做:
a1 = []a2 = []a3 = []a4 = []with open('f1.txt') as f: for line in f: data = line.split() a1.append(int(data[0])) a2.append(int(data[1])) a3.append(int(data[2])) a4.append(int(data[3]))
因此,首先,我们使用该
with语句打开文件。这样可以确保即使出现错误也可以自动关闭文件。这样更好。打开文件时
f将是文件句柄。
现在,Python允许我们仅通过遍历文件句柄来遍历文件的各行。因此
for line inf将自动遍历所有行。不需要先调用
readlines(),并且当然也不需要这样做
lines[0:len(lines)],基本上只创建列表的副本-
您也可以遍历
lines。
现在,在循环内部,我们将这行代码作为一行,并用空格将其分隔-
没有参数
str.split将始终执行该 *** 作。
str.split返回一个列表,因此我们将其存储在一个额外的变量中。接下来,我们将每一列附加到正确的列表中。当您希望将值转换为数字时,我们会将其转换为整数。
在
str.strip你提到的基本上起飞字符串的开头或结尾的空白。当我们使用
str.split无参数时,多余的空格也将被删除,因此我们实际上并不需要它。
最后,将四个单独的列表存储在单独的变量中很难维护。您可以简单地创建一个列表列表:
a = [[], [], [], []] # A list with four empty lists
然后,在循环内部,您可以追加
data[i]到
a[i]:
for i, value in enumerate(line.split()): a[i].append(int(value))
当遍历时
enumerate,您不仅将获得值(仅遍历列表将获得该值),还将获得索引。因此,使用此方法,我们可以获取分割线内每个元素的索引,然后可以将其自动附加到的正确子列表中
a。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)