私は大文字の入力ファイルを持っていますので、私はenumerate
またはfo.readlines()
を使いたくありません。 for line in fo:
伝統的な方法では動作しませんし、私は理由を述べますが、私はそれが私が今必要なものにいくつかの変更を感じる。次のファイルを考えてみましょう:私は必要なのは、行の変数チャンクを読んタプルの座標をペア、例リストにタプルを追加し、ファイルから新しいケースを読みに戻って移動することができることですPython:ファイルを行単位で読み込む最も最適な方法
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
...
。
私はこの考え:
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()))
その後タプルに夫婦二つのリストを。私はこれを行うためのよりクリーンな方法がなければならないと感じています。助言がありますか?
EDIT:y座標にはforループを別に読み込む必要があります。それらはx座標とy座標がn行離れています。だから、行iを読む。読取り線(i + n);各ケースについて、n回繰り返す。
だから、1回の繰り返しでn行を読みたいのですか? – Copperfield
私はあなたの入力フォーマットとデータ構造の望ましい出力ストリームを完全に理解していません。簡単な例を教えてください。 – 5gon12eder
enumerate()で何が問題になっていますか? –