gpt4 book ai didi

Haskell 排序函数

转载 作者:行者123 更新时间:2023-12-02 02:48:28 24 4
gpt4 key购买 nike

为什么 Haskell 的 sortData.List忽略第三个数字?

Prelude>sort ["1","200","234","30"]

["1","200","234","30"]

编辑:对不起,我没有意识到那些是字符串。我的错。

最佳答案

不,但它确实按应有的方式对字符串进行排序:Lexicographically

关系 "200" < "30"理由与 "Hello" < "World" 相同。做。

因此,如果您希望 Haskell 按数值排序,则必须对实际数字进行排序。

import Data.List
import Data.Function

sortNumeric = sortBy (compare `on` (read :: String -> Int))

sortNumeric ["1", "200", "234", "30"]

但是:为什么你的列表充满了“数字”包含字符串?考虑使用正确的 [Int]反而。

关于Haskell 排序函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2148188/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com