【发布时间】:2015-02-14 19:23:09
【问题描述】:
我有一个超过 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。
我制作了一个名为 mylist 的元组列表,格式为 (year,values,average,min,max),其中 years 是 int,values 是一个浮点列表,average 是一个 int,它平均所有“values”,min是一个 int,包含最小的“值”和最大值。
我的问题: 如何计算列表中第 n 个元素的平均值,例如一月、二月、三月...的平均值。。
我有:
let months = [ "Jan"; "Feb"; "Mar"; "Apr"; "May"; "Jun"; "Jul"; "Aug"; "Sep"; "Oct"; "Nov"; "Dec" ] //string list
我正在考虑以下几点:
mylist |> List.map (fun (_,values, _, _, _) -> average 0th index across all tuples, print Jan, then average 1st index across all tuples, print Feb, etc...)
或
mylist |> List.map (fun (_,values, _, _, _) -> printfn"%A %A" List.average 0thIndex,0thMonth....List.average 1stIndex, 1stMonth, etc...)
但我对函数式语言不够熟悉,无法了解列表和地图上的所有操作。更喜欢 Java 和 C
【问题讨论】: