我可以使用此代码在开放对象上迭代
with jsonl.open("train.dataset", gzip = True) as train_file:
for entry in train_file:
print(entry["summary"], entry["text"])
,但是说我只想要前10个结果。此代码
with jsonl.open("train.dataset", gzip = True) as train_file:
for i in range(0, 10):
print(train_file[i]["summary"], train_file[i]["text"])
导致
typeError:'open'对象不支持索引
如果可以迭代一个对象,为什么它不能支持索引直接访问零件。还有一种替代方法可以在特定索引中获取数据,/或仅检索第一个N结果?
如果 train_file 是 list
,您可以使用slice:
with jsonl.open("train.dataset", gzip=True) as train_file:
for entry in train_file[0:10]:
print(entry["summary"], entry["text"])
如果 train_file 是一个觉得,您可以使用 itertools.islice
:
import itertools
with jsonl.open("train.dataset", gzip=True) as train_file:
for entry in itertools.islice(train_file, 10):
print(entry["summary"], entry["text"])