Ruby值哈希如何高效查询?

2026-04-10 06:441阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计213个文字,预计阅读时间需要1分钟。

Ruby值哈希如何高效查询?

我有一个包含学生姓名和标记的ruby散列,如下所示。student_marks={Alex=> 50, Beth=> 54, Matt=> 50}。我正在寻找一个解决方案,根据他们的分数对学生进行分组。例如,50分的有[Alex, Matt]。

我有一个包含学生姓名和标记的 ruby哈希,如下所示.

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值哈希如何高效查询?

我有一个包含学生姓名和标记的ruby散列,如下所示。student_marks={Alex=> 50, Beth=> 54, Matt=> 50}。我正在寻找一个解决方案,根据他们的分数对学生进行分组。例如,50分的有[Alex, Matt]。

我有一个包含学生姓名和标记的 ruby哈希,如下所示.

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"]}