clojure:如何从地图中选取一个具有最高价值的项目
我有下面的地图。并给出一个性别参数,需要在没有最多钱的情况下找到用户。怎么做clojure:如何从地图中选取一个具有最高价值的项目,clojure,Clojure,我有下面的地图。并给出一个性别参数,需要在没有最多钱的情况下找到用户。怎么做 {:user1 {:money 400 :sex :male} :user2 {:money 300 :sex :female} :user3 {:money 200 :sex :male} } 您可以使用最大密钥: 您可以使用最大密钥: 这里有一种方法,你可以写它感谢@Lee的想法使用max key!: 因此,首先筛选出所有不符合标准的用户。对于users中的每个条目,您将获得该条目的val,然后在该条目下获得:s
{:user1 {:money 400 :sex :male}
:user2 {:money 300 :sex :female}
:user3 {:money 200 :sex :male}
}
您可以使用最大密钥:
您可以使用最大密钥:
这里有一种方法,你可以写它感谢@Lee的想法使用max key!: 因此,首先筛选出所有不符合标准的用户。对于users中的每个条目,您将获得该条目的val,然后在该条目下获得:sex的值,然后检查该结果是否包含在包含sex的一个元素集中 然后,一旦你过滤掉了你不想要的用户,你就可以查看结果的条目序列。对于每个条目,再次获取条目的val,然后获取该条目下的值:money,最后返回为该查询提供最高结果的项 示例:
(def users {:user1 {:money 400 :sex :male}
:user2 {:money 300 :sex :female}
:user3 {:money 200 :sex :male}})
(richest :male users)
;=> [:user1 {:money 400, :sex :male}]
(richest :female users)
;=> [:user2 {:money 300, :sex :female}]
这里有一种方法,你可以写它感谢@Lee的想法使用max key!: 因此,首先筛选出所有不符合标准的用户。对于users中的每个条目,您将获得该条目的val,然后在该条目下获得:sex的值,然后检查该结果是否包含在包含sex的一个元素集中 然后,一旦你过滤掉了你不想要的用户,你就可以查看结果的条目序列。对于每个条目,再次获取条目的val,然后获取该条目下的值:money,最后返回为该查询提供最高结果的项 示例:
(def users {:user1 {:money 400 :sex :male}
:user2 {:money 300 :sex :female}
:user3 {:money 200 :sex :male}})
(richest :male users)
;=> [:user1 {:money 400, :sex :male}]
(richest :female users)
;=> [:user2 {:money 300, :sex :female}]
你需要让用户在给定的性别中没有最多的钱,或者在给定的性别中有最多的钱?你需要让用户在给定的性别中没有最多的钱,或者在给定的性别中有最多的钱?
(def users {:user1 {:money 400 :sex :male}
:user2 {:money 300 :sex :female}
:user3 {:money 200 :sex :male}})
(richest :male users)
;=> [:user1 {:money 400, :sex :male}]
(richest :female users)
;=> [:user2 {:money 300, :sex :female}]