在 Python 中循环遍历列表

dro*_*hun 2 python loops list

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

例如;

1 10 1

1 12 1

2 64 2

6 17 1

...
Run Code Online (Sandbox Code Playgroud)

我正在阅读这个txt文件

train_data = open("train_file.txt", 'r').readlines()
Run Code Online (Sandbox Code Playgroud)

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

for eachline in train_data:
    uid, lid, x = eachline.strip().split()
Run Code Online (Sandbox Code Playgroud)

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

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

for eachline in range(train_data,1000)
        uid, lid, x = eachline.strip().split()
Run Code Online (Sandbox Code Playgroud)

sch*_*ggl 6

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

from itertools import islice

train_data = list(islice(open("train_file.txt", 'r'), 1000))
Run Code Online (Sandbox Code Playgroud)

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

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