【发布时间】:2015-02-15 02:43:41
【问题描述】:
我有一个超过 3 年的雨量文本文件,其中年份后的每个数字对应于月份。 例如,在
2002 1.17 0.78 7.11 5.17 5.84 4.29 1.12 4.06 1.9 2.07 1.47 1.53
2001 1.24 3.22 1.61 3.33 6.55 2.4 3.5 1.32 3.9 6.04 1.69 1.13
2000 1.277 1.4 1.17 5.74 6.48 4.81 4.07 3.19 6.2 1.95 2.65 1.7
2002 年 2 月平均降雨量为 0.78。
我制作了一个元组列表,格式为 (year,values,average,min,max),其中 years 是 int,values 是一个浮点列表,average 是一个对所有“值”进行平均的 int,min 是一个int 保存最小的“值”和最大值。
我的问题:
我可以使用 List.minBy 第四个 mylist 和它来自的年份(因为它的单个元素)打印所有元组中的最小值,但是我是否将该数字对应于它来的月份来自?
我有
let TupleWithSmallestValue= List.minBy min biglist
let (year,_,_,min,_) = TupleWithSmallestValue
printfn"Min rainfall:\t%A; %A" min year
我当时在想一些事情:
List.map (fun (year,(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec), avg, min, max) -> somehow print the min and the month it came from )
但我知道这是错误的,我正在尝试处理每个值以使其对应于一个月,就像我在上面的示例中所做的那样。如果我的问题足够清楚,我该怎么做?我是一名 C++ 程序员,但我喜欢这种语言的风格。只是缺少一些基础知识。
【问题讨论】: