这些是groupSort和groupOn在Data.List.Extra模块中的定义:groupSort =map (\x -> (fst $ head x, map snd x)) . groupOn fst . sortOn fst
groupOn :: Eq b => (a -> b) -> [a] -`on2` f = \x -> let fx = f x in \y -> f
我正在尝试比较列表u的元素是否相等。一种可能的解决方案可能是all(x == u[0] for x in u[1:]),或者简单地说是all(x == u[0] for x in u),但它看起来相当奇怪。在Python语言中,可以编写具有通常“数学”含义的a == b == c。所以我想,在模块的帮助下,我可以编写operator.eq(*u)。但是,eq函数只有两个参数。当然,functools.reduce(operator.<