Ruby值哈希如何高效查询?
- 内容介绍
- 文章标签
- 相关推荐
本文共计213个文字,预计阅读时间需要1分钟。
我有一个包含学生姓名和标记的ruby散列,如下所示。student_marks={Alex=> 50, Beth=> 54, Matt=> 50}。我正在寻找一个解决方案,根据他们的分数对学生进行分组。例如,50分的有[Alex, Matt]。
我有一个包含学生姓名和标记的 ruby哈希,如下所示.student_marks = { "Alex" => 50, "Beth" => 54, "Matt" => 50 }
我正在寻找一个解决方案,根据他们的分数对学生进行分组.
{ 50 => ["Alex", "Matt"], 54 => ["Beth"] }
我试过了group_by但它没有给我想要的结果.以下是使用group_by的结果.
student_marks.group_by {|k,v| v} {50=>[["Alex", 50], ["Matt", 50]], 54=>[["Beth", 54]]}
提前致谢.
我会做这样的事情:student_marks.group_by { |k, v| v }.map { |k, v| [k, v.map(&:first)] }.to_h #=> { 50 => ["Alex", "Matt"], 54 => ["Beth"]}
本文共计213个文字,预计阅读时间需要1分钟。
我有一个包含学生姓名和标记的ruby散列,如下所示。student_marks={Alex=> 50, Beth=> 54, Matt=> 50}。我正在寻找一个解决方案,根据他们的分数对学生进行分组。例如,50分的有[Alex, Matt]。
我有一个包含学生姓名和标记的 ruby哈希,如下所示.student_marks = { "Alex" => 50, "Beth" => 54, "Matt" => 50 }
我正在寻找一个解决方案,根据他们的分数对学生进行分组.
{ 50 => ["Alex", "Matt"], 54 => ["Beth"] }
我试过了group_by但它没有给我想要的结果.以下是使用group_by的结果.
student_marks.group_by {|k,v| v} {50=>[["Alex", 50], ["Matt", 50]], 54=>[["Beth", 54]]}
提前致谢.
我会做这样的事情:student_marks.group_by { |k, v| v }.map { |k, v| [k, v.map(&:first)] }.to_h #=> { 50 => ["Alex", "Matt"], 54 => ["Beth"]}

