我正在尝试从数据文件中找到最大降雨量.[4]元素中的沉淀列为1340行长文件.以下是文件中一行数据的示例:
Date,Day,High T,Low T,Precip,Snow,Snow Depth
1/1/10,1,41,19,0,0,5
Run Code Online (Sandbox Code Playgroud)
这是我试图找到max_precip的循环:
for line in fo:
max_precip = max(line.split(",")[4])
Run Code Online (Sandbox Code Playgroud)
这里的任何帮助或指导将不胜感激.多谢你们!
您需要将其应用于所有行,并且您需要首先将降水值转换为整数:
max_precip = max(fo, key=lambda line: int(line.split(',')[4]))
Run Code Online (Sandbox Code Playgroud)
这将返回包含最大降水量的整条线.我假设你已经删除了标题行.
请注意,您可能希望查看csv模块以便为您处理逗号分割.
为了让刚刚降水最大值和别人不顾一切,用生成器表达式:
max_precip = max(int(line.split(',')[4]) for line in fo)
Run Code Online (Sandbox Code Playgroud)
演示:
>>> fo = '''\
... 1/1/10,1,41,19,0,0,5
... 1/2/10,1,38,18,2,0,6
... 1/3/10,1,43,17,1,0,6
... '''.splitlines()
>>> max(fo, key=lambda line: int(line.split(',')[4]))
'1/2/10,1,38,18,2,0,6'
>>> max(int(line.split(',')[4]) for line in fo)
2
Run Code Online (Sandbox Code Playgroud)