我有一张看起来像这样的地图:
user> (frequencies "aaabccddddee")
{\a 3, \b 1, \c 2, \d 4, \e 2}
而且我想要一个函数,它可以根据每个字符出现在我作为参数传递的字符串中的顺序对键/值对进行排序。
像这样的东西:
user> (somesort "defgcab" (frequencies "aaabccddddee"))
[[\d 4] [\e 2] [\c 2] [\a 3] [\b 1]]
(在上面的例子中,'f' 和 'g' 没有出现在映射中,因此它们被忽略了。保证字符串——在这个例子中是“defgcab”——应该包含映射中的每个字符/键)
只要对其进行排序,生成的集合就无关紧要。
我已经尝试了几件事,但找不到一种方法来完成这项工作。