我的数据文件如下所示:
3.6-band
6238
Over
0.5678
Over
0.6874
Over
0.7680
Over
0.7834
我想要做的是选出最小的浮点数和它正上方的单词并打印这两个值。我不知道我在做什么。我试过了
df=open('filepath')
for line in df:
df1=line.split()
df2=min(df1)
这是我至少试图隔离最小浮动的尝试。问题是它只是给了我最后一个值。我认为这是 python 不知道重新开始迭代的问题,但同样......不知道我在做什么。我试过df2=min(df1.seek(0))
没有成功,收到错误消息no attribute seek
。这就是我到目前为止所尝试的,我仍然不知道如何打印最小浮点数之前的行。建议/帮助/建议将不胜感激,谢谢。
附带说明:此数据文件是具有类似特征的较大文件的示例,但“上方”一词也可能是“下方”,这就是为什么我也需要打印它。
将项目存储在列表列表中,[word,num]
配对然后申请min
在那份名单上。使用key
的参数min
指定必须使用哪个项目来进行项目比较:
with open('abc') as f:
lis = [[line.strip(),next(f).strip()] for line in f]
minn = min(lis, key = lambda x: float(x[1]))
print "\n".join(minn)
...
Over
0.5678
Here lis
看起来像这样:
[['3.6-band', '6238'], ['Over', '0.5678'], ['Over', '0.6874'], ['Over', '0.7680'], ['Over', '0.7834']]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)