我的数据文件如下所示: 3.6-band 6238Over0.5678Over0.6874Over0.7680Over0.7834 我想要做的是挑出最小的浮点数和它正上方的单词并打印这两个值.我不知道我在做什么.我试过了 df=open('filepath') for
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))没有成功,得到一个错误,说没有属性搜索.所以这就是我到目前为止所尝试的,我仍然不知道如何打印最小浮动之前的行.建议/帮助/建议将不胜感激,谢谢.
作为旁注:这个数据文件是具有相似特征的较大的一个示例,但是“Over”一词也可以是“Under”,这就是我需要打印它的原因.
将项目存储在列表,[word,num]对列表中,然后在列表列表中应用min.使用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
这里lis看起来像这样:
[['3.6-band', '6238'], ['Over', '0.5678'], ['Over', '0.6874'], ['Over', '0.7680'], ['Over', '0.7834']]