擅长:python、mysql、java
<p>您的数据似乎已按排序顺序排列,因此您只需比较每组的第一个和最后一个浮点值:</p>
<pre><code>from itertools import groupby
with open('a', 'w') as uniq, open('b', 'w') as lt, open('c', 'w') as gt:
with open("foo.txt") as f:
next(f)
for _, v in groupby(f, lambda x: x.split(None, 1)[0]):
v = list(v)
if len(v) == 1:
uniq.write(v[0])
elif float(v[-1].split(None, 1)[1]) - float(v[0].split(None, 1)[1]) < 10:
lt.writelines(v)
elif float(v[-1].split(None, 1)[1]) - float(v[0].split(None, 1)[1]) > 10:
gt.writelines(v)
</code></pre>