data
1list hoge 1 2 2list hoge2 3 4 3list hoge3 5 6 4list hoge4 7 8 5list hoge5 1 2 6list hoge6 3 4 7list hoge7 1 2 8list hoge8 3 4 9list hoge9 5 6
python
1data = [] 2with open("data", "r") as f: 3 for line in f: 4 if line.startswith("list"): 5 data.append(line.split()) 6 size = len(data) 7 print(size) 8 for i in range(size - 1): 9 first, next = data[i], data[i+1] 10 ("{}-{}".format(first[1], next[1])) 11 if int(next[2]) > int(first[3]): 12 data = [] 13 print(c[1], n[1]) 14 15#理想的な出力結果 16#hoge-hoge2-hoge3-hoge4 17#hoge5-hoge6 18#hoge7-hoge8-hoge9
hogeに与えた2つの数値のうち後者(hoge x y)のyが次の行のhogeのxの数値よりも
大きい場合にhogeをつなげていきたいです。
大きい場合にどんどんつなげていく方法がわからずに困っています。
1行ずつ読み込むよりも一旦ずべてリストに入れてから処理する方がいいのかとも考えております。
できればpandasを使わずに1行ずつの処理で求めてみたいです。
アドバイスお願い致します。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/14 12:44
2019/03/14 13:13
2019/03/16 05:51