这是我正在阅读的文本文件中的条目的简化示例——
Set1 1 2 3
Set2 6 7 8
我正在尝试编写一个可以将上述字符串转换为元组列表的函数——
[("Set1", [1.0, 2.0, 3.0]), ("Set2", [6.0, 7.0, 8.0])]
这是我写的函数——
parse_input :: String -> [(String, [Float])]
parse_input x = [ (head y, int2float (tail y)) | y <- splitinput ]
where
int2float x = [ read a::Float | a <- x ]
splitinput = [ words a | a <- lines x ]
这段代码最困扰我的是 int2float 部分。它梳理整数列表,并将每个整数逐一转换为浮点数。
有没有更有效的方法将整数列表转换为浮点数列表?