0
は、私は次の形式でのテキストのn
行を含むテキストファイルがあります:私はline_n_minus_1
までのラインのすべての連続したペア、(その上すなわちline_1
とline_2
、line_2
とline_3
とを抽出したいファイルから一度に連続するすべての行のペアを効率的に抽出するにはどうすればよいですか?
line_1
line_2
line_3
.
.
.
line_n_minus_1
line_n
をし、 line_n
)、各抽出されたペアで何かを行い、line_n_minus_1
とline_n
までこれを続けます。大容量のファイルに対してこれを効率的に実行するにはどうすればよいですか?
これは私が考えていたものです:私は潜在的に大きなテキストファイルで作業するつもりですので、
from itertools import tee, izip
def pairwise(iterable):
"s -> (s0,s1), (s1,s2), (s2, s3), ..."
a, b = tee(iterable)
next(b, None)
return izip(a, b)
with open("file.txt","r") as f:
list_of_lines = f.readlines()
for i in pairwise(list_of_lines):
# do something with the pair tuple i
はしかし、私は、readlines()
に頼ることが嫌い。これを行うより良い方法はありますか?
ありがとうございました!これは多くの助けとなりました。 –