迭代多个数组的最佳方法?

2024-04-04

在 Ruby 中迭代多个数组的最佳(美观且高效)方法是什么? 假设我们有一个数组:

a=[x,y,z]
b=['a','b','c']

我想要这个:

x a
y b
z c

Thanks.


另一种方法是使用each_with_index。快速基准测试表明,这比使用 zip 稍快。

a.each_with_index do |item, index|
  puts item, b[index]
end

基准:

a = ["x","y","z"]
b = ["a","b","c"]

Benchmark.bm do |bm|
  bm.report("ewi") do
    10_000_000.times do
      a.each_with_index do |item, index|
        item_a = item
        item_b = b[index]
      end
    end
  end
  bm.report("zip") do
    10_000_000.times do
      a.zip(b) do |items|
        item_a = items[0]
        item_b = items[1]
      end
    end
  end
end

Results:

      user     system      total        real
ewi  7.890000   0.000000   7.890000 (  7.887574)
zip 10.920000   0.010000  10.930000 ( 10.918568)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

迭代多个数组的最佳方法? 的相关文章

  • 使用字符串中的变量名称访问变量值,R

    Intro 一个数据集有大量的age year变量 age 1990 age 1991 etc 我有一个字符串值数组length age years 表示这些变量 使得age years 1 回报 age 1990 etc Need 我想搜
  • 解开 Knuth 的结:如何重构意大利面条式代码?

    这个问题的灵感来自如何将流程图转化为实施 https stackoverflow com questions 36647765它询问如何通过算法消除goto代码中的语句 这answer https stackoverflow com a 3
  • strtok - 如何避免换行并放入字符串数组?

    如果我欺骗了主题 我真的很抱歉 我在这里搜索但没有结果 我有代码 void split char str char splitstr char p char splitbuf 32 int i 0 p strtok str while p
  • Shoulda/RSpec 匹配器 - 条件验证

    在我的代码中 我使用 Shoulda 匹配器进行了以下验证 效果很好 it should validate presence of name 在我的模型中 我已将条件添加到验证中 validates presence of name if
  • 从 n,k 维矩阵数组中减去 n,k 维矩阵

    如果我有一个数组A A lt array 0 c 4 3 5 for i in 1 5 set seed i A i lt matrix rnorm 12 4 3 如果我有矩阵 B set seed 6 B lt matrix rnorm
  • 使用哈希参数进行 DRY Ruby 初始化

    我发现自己经常在构造函数中使用哈希参数 尤其是在为配置或最终用户将接触到的其他 API 编写 DSL 时 我最终做的是类似以下的事情 class Example PROPERTIES name age PROPERTIES each p a
  • 什么是适合 Rails 3 的测试框架?

    去年我一直在使用 Ruby On Rails 但是 无法进行单元测试 现在我必须编写单元测试代码 哪个测试框架好 为什么 有这方面的好的教程吗 我的系统配置 Ruby 1 9 2 Rails 3 Ubuntu 10 第一个技巧是 尝试升级到
  • 更改API数据输出的布局

    我是 API 集成和 PHP 的新手 我最近将 VIN 解码器集成到我的应用程序中 在输入框中输入车辆的 VIN 选择提交 然后就会显示 API 数据库中有关该车辆的所有信息 数据存储为关联数组 其中包含类别及其相应元素 例如 对于 VIN
  • 超类与类SpecificationPolicy不匹配

    我得到了一个superclass mismatch for class SpecificationPolicy尝试安装或升级某些brew 软件包时出错 例如 更新安装 supabase CLI 时 brew install supabase
  • 每个术语出现的次数

    我得到了一个数组a n 2 where n can be 10 5最大时有n个科目和n个学生 全部编号为 1 2 n a i 0 and a i 1 1 lt i lt n 表示在第 i 个科目中 所有来自a i 0 to a i 1 通过
  • Numpy - 根据表示一维的坐标向量的条件替换数组中的值

    我有一个data多维数组 最后一个是距离 另一方面 我有距离向量r 例如 Data np ones 20 30 100 r np linspace 10 50 100 最后 我还有一个临界距离值列表 称为r0 使得 r0 shape Dat
  • 使用随机放置的 NaN 创建示例 numpy 数组

    出于测试目的 我想创建一个M by Nnumpy 数组与c随机放置的 NaN import numpy as np M 10 N 5 c 15 A np random randn M N A mask np nan 我在创建时遇到问题mas
  • 带有 git Remote 的 Gem 文件在 Heroku 推送上失败

    我的 gemfile 中有以下行 gem client side validations git gt email protected cdn cgi l email protection Dakuan client side valida
  • 子文件夹和关系中的 Rails 模型

    我在自动加载的文件夹中组织了一些轨道模型 config autoload paths Dir Rails root join app models 我可以直接使用所有模型 例如Image first file name 但是当我尝试通过关系
  • Pygame - 使用 SurfArray 将某种颜色的像素重新着色为另一种颜色(数组切片问题)

    我正在尝试为游戏制作调色板交换功能 并且正在尝试找到一种将某种颜色的像素颜色更改为另一种颜色的方法 我已经能够使用我在教程中找到的这个函数使所有像素具有相同的颜色 def color surface self surface red gre
  • 使用静态指针的动态内存分配

    有人可以向我解释一下为什么下面的代码会这样工作吗 这里我已经初始化了outd作为文件中的静态指针code2 c 然后我动态地为其分配内存malloc 从单独文件中的主函数中一次又一次地调用它code1 c 它看起来整个数组以静态方式运行 因
  • 嵌套循环结果

    我真的不知道如何找出嵌套循环的结果 例如 在下面的伪代码中 我无法弄清楚执行结束时会给出什么 如果有人给我一个简单的解决方案 我会很高兴 r lt 0 for i lt 1 to n do for j lt 1 to i do for k
  • 通过 Python 循环浏览网络上的目录并显示其内容(文件和其他目录)

    同样的道理在Python中处理从源目录到目标目录的一组文件 https stackoverflow com questions 2593399 process a set of files from a source directory t
  • PHP条件,如果当前页面,则链接突出显示[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有一个带
  • sqlite3-ruby gem:无法构建 gem 本机扩展

    Update 看看这个后续问题 Windows 上的 Gem 更新 它坏了吗 https stackoverflow com questions 134581 gem update on windows is it broken 在 Win

随机推荐

  • JavaScript 中的 const 关键字范围

    1 gt gt gt const a 2 2 gt gt gt var a 3 3 gt gt gt a 4 4 gt gt gt a print 2 为什么允许运行3号线 const 看起来比没有任何关键字更 全局 const范围被定义为
  • 根据Python的条件将请求传递给不同的类

    我正在设计一个 API 它处理不同类型的车辆 例如轿车 公共汽车和货车 有一个端点POST vehicle这将需要一个定义的主体 registration str date of purchase datetime str vehicle
  • 突出显示 VIM 中的特定列

    我经常处理包含固定位置数据的文件 如果您愿意的话 可以使用非分隔的 CSV 文件 通常 我想突出显示特定的列 I tried match ErrorMsg gt 30v lt 40v 但这运行得非常慢并且只匹配第一行 我想该文件可能太大了
  • ' 隐式转换为 'System.Collections.Generic.IList< >'' aria-label='无法将类型 'System.Collections.Generic.List< >' 隐式转换为 'System.Collections.Generic.IList< >''> 无法将类型 'System.Collections.Generic.List< >' 隐式转换为 'System.Collections.Generic.IList< >'

    这篇文章有很多可能的重复项 但我尝试了其中的大部分 不幸的是我的错误仍然存 在 发生 错误是 错误 1 无法隐式转换类型 System Collections Generic List
  • 如何在 iOS 中使用“容器视图”?

    我注意到 XCode 中的 UI 组件 Container View 根据提供的描述 我想利用它在几个不同的屏幕上显示我的应用程序的可重用组件 我一直在网上寻找基本教程或一些相关文档 但是我还没有找到任何有用的东西 请有人建议如何连接并使用
  • 我应该如何得到Lasso模型的系数?

    这是我的代码 library MASS library caret df lt Boston set seed 3721 cv 10 folds lt createFolds df medv k 10 lasso grid lt expan
  • 如何在方向改变后保留播放视频的片段片段的实例?

    我有一个 YouTube API 片段 静态添加到我的 xml 清单文件中 即内部包含 YouTube 播放器的片段 我的项目中没有扩展片段的文件 在我的活动类中 我将这行代码放在onCreate我的活动课 youTubePlayerFra
  • 以通用方式选择有效的随机枚举值

    假设我们有一个枚举类型E enum class E underlying type of E v1 uE1 v2 uE2 vN uEN typedef typename std underlying type
  • 用c#将html转为jpg

    我做了一些搜索 尝试从 html 页面生成 jpg 文件 并找到了一种名为 IECapt 或类似的解决方案 需要服务器上的 IE 才能工作 这不是我想要的 这就是我想要做的 从 html 页面生成 jpg 图像 html 页面只是文本 然后
  • 无法转义正则表达式中的反斜杠?

    我正在使用以下正则表达式 a zA Z0 9 s 1 1000 我知道它很丑陋 但到目前为止 它已经达到了它的目的 除了反斜杠不被允许 因为我认为它应该因为它被转义了 另外 我尝试过 代替 但得到了相同的结果 有任何想法吗 如果您将其放入程
  • 如何控制边框高度?

    我有两个div 一个在左边 另一个在右边 现在我想用它们之间的边框来划分这两个 div 但是全高的边框看起来很糟糕 我想控制边框的高度 我怎么能这样做呢 边框将始终处于包含框的完整长度 元素的高度加上其填充 除了调整其应用的元素的高度之外
  • 从微调器中删除文本

    I m trying to style a spinner What I currently have is this It is EditText其次是Spinner Now I m using custom style as follo
  • 将一个 Cursor 的内容添加到另一个 Cursor

    我想连接两个游标 以便连接后第二个游标的内容也应出现在第一个游标中 这正是我的代码 public final Uri AllImage URI Int MediaStore Images Media INTERNAL CONTENT URI
  • 如何在 VueJS 单文件组件中正确使用“作用域”样式?

    The docs https vue loader vuejs org en features scoped css html在 VueJS 上声明scoped应限制组件的样式 但是如果我创建两个相同的组件baz样式 它会从一个组件泄漏到另
  • Cocoa:隐藏一个应用程序

    是否可以使用 cocoa 隐藏一个特定的应用程序 我知道您可以使用以下代码隐藏所有其他应用程序 NSWorkspace sharedWorkspace performSelectorOnMainThread selector hideOth
  • php 的 sleep() 输出

    我试图基本上每秒运行一个循环 持续 25 秒 for i 0 i lt 25 i 1 echo i sleep 1 问题是它在完全完成之前不会输出 所以在循环继续 25 次之后 有没有办法做到这一点 以便它会在每次睡眠前输出 而不是等到整个
  • 随机但仅在 Chrome 中

    我有这个函数来创建随机的数字范围 function randomRange min max return new Array max min join split map function v i return min i sort fun
  • 返回点击按钮的索引?

    我有一个包含 30 个按钮的数组 我有一个变量按钮Clicked 当我按下按钮时 如何获取索引并将索引号存储在单击的按钮中 谢谢 JButton buttons new JButton 30 for int i 1 i lt 30 i in
  • VueJS 换行符未正确渲染

    我遇到以下问题 我从包含换行符的 API 读取数据字符串 n我想在我的模板中正确显示它们 但是当我做类似的事情时 p mytext p 文本显示为 n其中的字符就像普通文本一样 响应中的文本字符串的格式为 Hello n what s up
  • 迭代多个数组的最佳方法?

    在 Ruby 中迭代多个数组的最佳 美观且高效 方法是什么 假设我们有一个数组 a x y z b a b c 我想要这个 x a y b z c Thanks 另一种方法是使用each with index 快速基准测试表明 这比使用 z