在 Ruby 中反转哈希值

2024-01-08

我如何反转哈希中的元素,保持相同的值和键,但反转它们在哈希中的顺序。

Like so:

{ "4" => "happiness", "10" => "cool", "lala" => "54", "1" => "spider" }

并将其转换为:

{ "1" => "spider", "lala" => "54", "10" => "cool", "4" => "happiness" }

或者,也许我可以运行一个each向后循环,从哈希中的最后一个元素开始,而不是第一个?


您可以将哈希转换为数组,反转该数组,然后将其转换回哈希:

reversed_h = Hash[h.to_a.reverse]

Hash#to_a http://ruby-doc.org/core/Hash.html#method-i-to_a给你一个数组的数组,内部数组很简单[key,value]对,然后使用反转该数组Array#reverse http://ruby-doc.org/core/Array.html#method-i-reverse, and Hash[] http://ruby-doc.org/core/Hash.html#method-c-5B-5D转换为[key,value]配对回哈希。

Ruby 2.1 添加了Array#to_h http://ruby-doc.org/core/Array.html#method-i-to_h方法,所以你现在可以说:

reversed_h = h.to_a.reverse.to_h
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Ruby 中反转哈希值 的相关文章

  • Ruby 空白:{ :a => 1 } 比 {:a => 1} 更好吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 看看其他人的代码 在花括号块内包含额外的空格似乎很常见 这是有原因的吗 对我来说 这似乎增加了额外的击键 从而增加了丑陋 特别是当事情嵌套时 l
  • Capybara::ElementNotFound:无法找到字段“标题”

    我无法解决这个问题 请帮我 它给了我找不到元素的错误 规格 功能 todos create spec rb require spec helper describe Creating todos do let user FactoryGir
  • JDK 8 - “无法解析类型 java.util.Map$Entry”[重复]

    这个问题在这里已经有答案了 我尝试使用 HashMap 但收到错误 无法解析类型 java util Map Entry 它是从所需的 class 文件间接引用的 我正在使用 JDK 8 和 Eclipse 有人知道为什么吗 My code
  • 帮助重构这个讨厌的 Ruby if/else 语句

    所以我有这个大而多毛的 if else 语句 我将跟踪号码传递给它 然后它确定它是什么类型的跟踪号码 我怎样才能简化这件事 具体来说就是想减少代码行数 if num length lt 8 tracking service false el
  • 在 Ruby 中的文件中查找并替换

    我有一个用 ruby 编写的小程序 我在这里找到了一段很好的代码 用于查找和替换文件中的某些内容 但它似乎不起作用 这是代码 usr bin env ruby DOC test txt FIND M SEP n make substitut
  • HashMap何时以及如何将桶从链表转换为红黑树? [复制]

    这个问题在这里已经有答案了 我正在研究 java 8 功能 发现当存储桶上的条目集数量增加时 哈希图使用红黑树而不是链表 但是 这是否不需要密钥是可比较的或存在某种密钥排序以及这是如何工作的 这种转变何时真正发生以及如何发生 当有at le
  • 未找到 Gem 命令

    我已经在 Ubuntu 10 10 32 位上安装了 gem apt get install gem y 但当我尝试跑步时 gem install something gem 我收到未找到命令的错误 bash gem command not
  • 如何使用 ruby​​zip 库获取压缩文件的内容?

    我正在尝试提取上传的 zip 文件并将其内容存储在数据库中 每个文件一个条目 rubyzip 库几乎没有有用的文档 有一个资产表 其中包含键 string 文件名 和数据 binary 文件内容 我正在使用 ruby zip 库 并且已经做
  • 与 Array 相比,使用 Ruby NArray 有哪些优点?

    我刚刚遇到了 Ruby 的 NArray 库 请原谅我在问这个问题时的无知 与标准 Ruby Array 实现相比 使用 NArray 库有哪些优点 我已经看到 NArray 是面向数值计算的 但是看看 API 看起来好像只有一些针对数值的
  • 安装了 Rails 但它说我没有:)

    我刚刚执行了这个命令来安装 Rails gem install rails 它似乎运行良好并安装了东西 然后当我按照本教程进行操作时 http guides rubyonrails org getting started html http
  • 使用 Ruby 替换文件中的特定行

    我有一个如下所示的文本文件 a txt open close open open close open 我需要找到一种方法将第三行替换为 close 我做了一些搜索 大多数方法都涉及搜索该行而不是替换它 在这里不能真正做到这一点 因为我不想
  • 为 .API 文件启用自动完成功能?

    有谁知道如何使用 N 站点上提供的 API 文件在 Notepad 中自动完成工作 在 API 文件夹中具有 XML 自动完成文件的语言中 自动完成功能工作得很好 但对于使用 API 文件的语言 ruby AutoIt 等 完全不起作用 根
  • Ruby On Rails 与 Windows Vista - 最佳设置? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 您认为 Win Vista 环境中 RoR 的最佳设置是什么 我尝试过 radrails eclipse 插件 它对我来说似乎太庞大了 我也开始
  • 如何找到 Ruby 应用程序中的性能瓶颈?

    我编写了一个 Ruby 应用程序 它可以解析来自不同格式 html xml 和 csv 文件的源的大量数据 如何找出代码的哪些区域花费时间最长 有没有关于如何提高 Ruby 应用程序性能的好资源 或者您是否有始终遵循的性能编码标准 例如 您
  • sinatra 应用程序在运行时无法启动

    我使用的是 Ubuntu 10 10 Ruby 1 9 2 无论我做什么 我都无法在本地计算机上启动 sinatra 应用程序 你好 rb require sinatra get do Hello World end ruby hello
  • ruby CSV重复行解析

    我有一些需要处理的 CSV 数据 但无法找到匹配重复项的方法 数据看起来有点像这样 line id name item 1 item 2 item 3 item 4 1 251 john foo foo foo foo 2 251 john
  • Rails 3:用户创建自定义表单?

    我正在尝试思考如何允许用户创建具有所有字段类型的自定义表单 如果有一颗宝石那就太好了 但我似乎无法在任何地方找到它 所以我有一个像这样的数据库设置 t integer form id t string name t string hint
  • 如果数组包含一个或多个相同值,则合并数组

    我有一个数组数组 a 1 2 3 3 4 5 6 7 8 8 9 9 10 我想合并包含一个或多个相同值的所有数组 所以 a 1 2 3 4 5 6 7 8 9 10 我正在努力寻找一种简洁的方法来解决这个问题 有任何想法吗 我相信这是正确
  • ActiveRecord 查询,按关联排序,最后一个 has_many

    我试图列出所有Users by the created at最近创建的关联记录 通讯 列 到目前为止我所拥有的 User includes communications order communications created at IS
  • Rails:验证字符串的最小和最大长度,但允许其为空白

    我有一个想要验证的字段 我希望该字段能够留空 但如果用户输入数据 我希望它采用某种格式 目前我在模型中使用以下验证 但这不允许用户将其留空 validates length of foo maximum gt 5 validates len

随机推荐

  • 地址可达性 - 服务器和端口 - iOS 5

    我正在尝试检查服务器是否在线或离线 连接到服务器时我面临一个问题 即它有一个端口 我现在的代码 struct sockaddr in address address sin len sizeof address address sin fa
  • 需要帮助用delphi打印文本文件

    我正在尝试使用 Delphi 2010 打印文本文件 我找到了一些代码 但是当我运行时 它要求保存 xps 文件 但不显示打印对话框 代码位于http www delphipages com forum showthread php t 7
  • curl 可以工作,但不会在 BASH 脚本中执行

    以下curl 命令在命令行中运行 我从服务器得到了有效的响应 curl X POST https somebaseurl api v1 auth login H Content Type application json d email f
  • Jersey / ServletContext 和启动时加载资源

    我是 Java Web 开发领域的新手 我正在开发一个网络服务 我选择了 REST Jersey for it 我想在服务启动时初始化一些东西并保留它们 贯穿整个服务生命周期 第一个问题 构造函数是JerseyServlet 是做这件事的好
  • 解析 Facebook logInInBackgroundWithReadPermissions (Swift)

    我已成功设置 Parse 1 7 1 SDK 和 Facebook v4 SDK 设置桥接头文件和 AppDelegate swift 现在在我的 ViewController 中 我正在尝试创建 Facebook 登录 并且我正在尝试使用
  • read.csv 在 R 中警告“EOF 在引用的字符串中”,但在 EXCEL 中成功读取

    我尝试读取从下载的 csv 文件here https d396qusza40orc cloudfront net repdata 2Fdata 2FStormData csv bz2 我用下面的代码阅读 storm data read cs
  • 网络爬虫的典型礼貌因素?

    网络爬虫的典型礼貌因素是什么 除了始终遵守robot txt 禁止 和非标准 抓取延迟 但是 如果站点没有指定显式的抓取延迟 则默认值应该设置为多少 我们使用的算法是 If we are blocked by robots txt Make
  • RazorEngine 中的 using-Statement(没有 MVC 中的 HtmlHelper)

    我使用的是 RazorEngine 没有 MVC 框架 这意味着我没有用于创建模板的 HtmlHelper 没关系 反正我不需要它的任何方法 但我需要创建自己的方法 例如 BeginForm 现在这些都是用 HtmlHelper ViewC
  • 在 Chrome 上将 drawImage 与 Canvas 结合使用非常慢

    我一直在尝试使用drawImage 将SVG 文件的大量实例绘制到画布上 通过使用 SVG 作为源创建单个图像元素 然后对画布上的每个实例使用 drawImage 我希望即使有大量实例也可以非常快速地在画布中生成合成图像 就性能而言 这在
  • nt!KeWaitForSingleObject 不带参数

    我目前正在尝试调试系统死锁 但我很难理解这一点 Child SP RetAddr Args to Child Call Site fffff880 035cb760 fffff800 02ecef72 00000000 00000002 f
  • C++ SQL数据库比较[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 合并特定日期范围内的 Pandas DataFrame

    我有 2 个数据框 一个为Invoice Data另一个用于Promotion Dates Invoice Data数据框 LocationNo InvoiceDate InvoiceAmount A 01 Jul 20 79 B 01 J
  • 在 Firefox 中的新选项卡中打开链接

    我正在开发一个 Firefox 扩展 如何才能在新标签页中打开网页上的所有链接 这通常是 Firefox 中处理新链接的可配置选项 因此它们可能会用它覆盖您的扩展 然而 The code a href http www example co
  • Django自递归外键过滤器查询所有子项

    我有一个带有自引用外键关系的模型 class Person TimeStampedModel name models CharField max length 32 parent models ForeignKey self null Tr
  • ios UIImage 超出 UIImageView 边框

    这里黑色边框显示 UIImageView 的父 UIView 红色边框显示 UIImageView 我正在从服务器下载图像 但图像超出了 UIImageView 区域 如图所示 我正在以编程方式进行此操作 任何帮助将不胜感激 我在下面添加代
  • C# FTP,如何检查路径是文件还是目录?

    我有一个包含一些 FTP 路径的数组 如下所示 ftp ip 目录 目录1 ftp ip 目录 目录2 ftp ip 目录 文件 txt ftp ip 目录 directory3 ftp ip 目录 another file csv 如何确
  • 标准 C 中是否有推荐的整数类型来存储函数指针

    C99标准有uintptr t 一个推荐的整数类型 用于将数据指针 指向对象的指针 转换为 但我没有找到等效的整数类型来存储函数指针 是我忽略了吗 特定的编译器可以定义这样的类型 即使它不在标准中 但编译器更有可能声明函数指针可以存储在 例
  • 圆形鱼眼图像扭曲为平面图像

    截至 2015 年 11 月 12 日更新 我将 PanoTools 插件与 Photoshop 和 Hugin 一起使用 并使用了所有这些参数 最终我找到了满足我最低要求的投影 HFOV 和图像输出尺寸参数 参数 Processed Ou
  • ActiveX (COM) 控件在被其父控件关闭时进行清理的正确方法是什么?

    我遇到的问题是 我的 net 控件在包装以供 ActiveX 使用时无法正确清理 当我尝试关闭 SDK 的测试容器应用程序 TstCon32 exe 时 默认行为会使它作为无 GUI 进程运行 我最初通过谷歌找到的解决方法是覆盖 WndPr
  • 在 Ruby 中反转哈希值

    我如何反转哈希中的元素 保持相同的值和键 但反转它们在哈希中的顺序 Like so 4 gt happiness 10 gt cool lala gt 54 1 gt spider 并将其转换为 1 gt spider lala gt 54