使用Haskell编写一个函数,计算列表中每个元素的平均值。
发布时间:2023-12-10 01:15:31
下面是使用 Haskell 编写的函数来计算列表中每个元素的平均值:
-- 导入 Data.List 模块以使用 sum 和 length 函数
import Data.List (sum, length)
-- 计算列表中每个元素的平均值
average :: Fractional a => [a] -> a
average xs = sum xs / fromIntegral (length xs)
-- 使用例子
main :: IO ()
main = do
let list1 = [1, 2, 3, 4, 5]
list2 = [10, 20, 30, 40]
putStrLn $ "List 1 平均值: " ++ show (average list1)
putStrLn $ "List 2 平均值: " ++ show (average list2)
在上面的代码中,我们定义了一个名为 average 的函数,它接受一个类型为 Fractional 的列表作为参数,并返回平均值。我们使用 sum 函数来计算列表中所有元素的总和,然后使用 length 函数来获取列表的长度,并将总和除以长度得到平均值。
在 main 函数中,我们使用了两个例子列表 list1 和 list2,并使用 putStrLn 函数打印每个列表的平均值。结果输出如下:
List 1 平均值: 3.0 List 2 平均值: 25.0
请注意,我们使用 show 函数将计算得到的平均值转换为字符串以便输出。另外,我们需要使用 fromIntegral 函数将列表长度转换为 Fractional 类型以进行除法运算。
