在Python中循环遍历列表

我有一个train_file.txt,每行有 3 列。

例如;

1 10 1

1 12 1

2 64 2

6 17 1

...

我正在阅读这个txt文件

train_data = open("train_file.txt", 'r').readlines()

然后我试图用 for 循环获取每个值

for eachline in train_data:
    uid, lid, x = eachline.strip().split()

问题:训练数据是一个巨大的文件,这就是为什么我只想获取前 1000 行。

我试图执行以下代码,但出现错误(“list”对象不能解释为整数)

for eachline in range(train_data,1000)
        uid, lid, x = eachline.strip().split()

回答

根本没有必要读取整个文件。您可以enumerate直接在文件上使用并提前中断或使用itertools.islice

from itertools import islice

train_data = list(islice(open("train_file.txt", 'r'), 1000))

您还可以继续使用相同的文件句柄稍后读取更多数据:

f = open("train_file.txt", 'r')
train_data = list(islice(f, 1000)) # reads first 1000
test_data = list(islice(f, 100))   # reads next 100


以上是在Python中循环遍历列表的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>