I have a large input file I need to read from so I don't want to use enumerate
or fo.readlines()
.
for line in fo:
in the traditional way won't work and I'll state why, but I feel some modification to that is what I need right now. Consider the following file:
input_file.txt:
3 # No of tests that will follow
3 # No of points in current test
1 # 1st x-coordinate
2 # 2nd x-coordinate
3 # 3rd x-coordinate
2 # 1st y-coordinate
4 # 2nd y-coordinate
6 # 3rd y-coordinate
...
What I need is to be able to read variable chunks of lines, pair the coordinates in tuple, add tuple to a list of cases and move back to reading a new case from the file.
I thought of this:
with open(input_file) as f:
T = int(next(f))
for _ in range(T):
N = int(next(f))
for i in range(N):
x.append(int(f.next()))
for i in range(N):
y.append(int(f.next()))
Then couple the two lists into a tuple. I feel there must be a cleaner way to do this. Any suggestions?
EDIT: The y-coordinates will have to have a separate for loop to read. They are x and y coordinates are n lines apart. So Read line i; Read line (i+n); Repeat n times - for each case.