`

数组生成哈希表的方法示例

阅读更多

以下是从数组生成哈希表的方法示例

  1. 由[索引, 值, ...] 型的数组变为哈希表

    ary = [1,"a", 2,"b", 3,"c"]
    p Hash[*ary]
    
    # => {1=>"a", 2=>"b", 3=>"c"}
    
  2. 由索引和值配对出现的数组变为哈希表

    alist = [[1,"a"], [2,"b"], [3,"c"]]
    p Hash[*alist.flatten]
    
    #=> {1=>"a", 2=>"b", 3=>"c"}
    
  3. 由索引数组和值数组配对生成哈希表(version 1.7 以后)

    keys = [1, 2, 3]
    vals = ["a", "b", "c"]
    alist = keys.zip(vals)   # 或 alist = [keys,vals].transpose
    p Hash[*alist.flatten]
    
    #=> {1=>"a", 2=>"b", 3=>"c"}
    
  4. 虽然索引和值都是数组,但还是无法使用(2)或(3)的方法时,只好老老实实地赋值了

    h = Hash.new
    alist = [[1,["a"]], [2,["b"]], [3,["c"]]]
    alist.each {|k,v|
      h[k] = v
    }
    p h
    
    #=> {1=>["a"], 2=>["b"], 3=>["c"]}
分享到:
评论

相关推荐

    VB高频词汇提取技术示例源程序

     为每个单词生成哈希表;  生成单词表,即原始数据中所有出现过的单词,并记录在原始数据中第一次出现的位置    第二步:短语频率统计  定义一个短语表来存放所有可能出现的短语,记录它在原始数据中出现的位置...

    Java开发技术大全(500个源代码).

    invokeMethod.java 同一个类中调用方法示例 invokeOther.java 类的外部调用方法示例 invokeStaticMethod.java 调用静态方法示例 localVariable.java 演示局部变量 localVSmember.java 局部变量与成员变量同名...

    oyoy:牡蛎(一种口齿不清的东西)希望有一天能用 pypy 进行 JIT 编译

    但不是围绕 cons 单元构建,而是围绕数组和哈希表构建。 Oyster 的语法基于@AdamHeck 设计的“Psychotic Bastard”。 lisp 的 PB 语法的大部分开发都记录在。 这是当前运行的一个非常简单的示例: set my-plus: fn ...

    数据结构习题答案(全部算法)严蔚敏版

    8.5 哈希表算法实现C语言源程序 习题八 第9章 排序 9.1 排序基本概念 9.2 插入排序 9.2.1 直接插入排序 9.2.2 折半插入排序 9.2.3 希尔排序 9.3 交换排序 9.3.1 冒泡排序 9.3.2 快速排序 9.4 选择排序 ...

    Data-Table-using-Material-UI:使用材料UI在对象的嵌套数组上创建的示例数据表

    生成被最小化,并且文件名包括哈希值。 您的应用已准备好进行部署! 有关更多信息,请参见关于的部分。 npm run eject 注意:这是单向操作。 eject ,您将无法返回! 如果您对构建工具和配置选择不满意,则可以...

    C#全能速查宝典

    1.5.8 ContainsValue方法——确定哈希表是否包含特定值 101 1.5.9 Count属性——获取数目 102 1.5.10 GetEnumerator方法——循环访问对象 103 1.5.11 GetEnvironmentVariables方法——检索环境变量 104 1.5.12 ...

    数据结构与算法示例.zip

    例如,数组的连续存储,链表的动态分配节点,树和图的邻接矩阵或邻接表表示等。 基本操作:针对每种数据结构,定义了一系列基本的操作,包括但不限于插入、删除、查找、更新、遍历等,并分析这些操作的时间复杂度和...

    leetcode备忘录系统-Problem-Solving:解决问题的实践档案

    哈希表 ArrayList 和可调整大小的数组 字符串生成器 链表 创建链表 从单向链表中删除节点 “跑者”技术 递归问题 堆栈和队列 实现堆栈 引入队列 树和图 树的种类 二叉树遍历 二叉堆(最小堆和最大堆) 尝试(前缀树...

    基于java语言的数据结构及算法实现,LeetCode算法示例.zip

    算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...

    Java 核心类的示例、 部分工具类、 数据结构和算法.zip

    算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...

    数据结构与算法程序示例。常用算法思想总结归档。使知识体系化.zip

    例如,数组的连续存储,链表的动态分配节点,树和图的邻接矩阵或邻接表表示等。 基本操作:针对每种数据结构,定义了一系列基本的操作,包括但不限于插入、删除、查找、更新、遍历等,并分析这些操作的时间复杂度和...

    学习数据结构与算法的代码示例,目前提供 Java、Python、Go、C++ 多种语言支持。.zip

    例如,数组的连续存储,链表的动态分配节点,树和图的邻接矩阵或邻接表表示等。 基本操作:针对每种数据结构,定义了一系列基本的操作,包括但不限于插入、删除、查找、更新、遍历等,并分析这些操作的时间复杂度和...

    数据结构与排序算法------通过代码示例,讲解:数据结构和9种排序算法。.zip

    例如,数组的连续存储,链表的动态分配节点,树和图的邻接矩阵或邻接表表示等。 基本操作:针对每种数据结构,定义了一系列基本的操作,包括但不限于插入、删除、查找、更新、遍历等,并分析这些操作的时间复杂度和...

    Java数据结构和算法中文第二版(2)

    第11章 哈希表 哈希化简介 开放地址法 链地址法 哈希函数 哈希化的效率 哈希化和外部存储 小结 问题 实验 编程作业 第12章 堆 堆的介绍 Heap专题applet 堆的Java代码 基于树的堆 堆排序 小结 ...

    Java数据结构和算法中文第二版(1)

    因为小弟权限不够,所以分开两个帖子上存,资源名称分别是: Java数据结构和算法中文第二版(1) Java数据结构和算法中文第二版(2) 【内容简介】 ...第11章,哈希表 第12章,堆 第13章,图 第14章,带权图

    JavaScript王者归来part.1 总数2

     8.3.1 什么是哈希表   8.3.2 哈希表的构造   8.3.3 实现一个简单的HashTable类型   8.4 高级用法--集合操作和闭包   8.5 总结   第9章 字符串  9.1 字符串的构造   9.1.1 字符串常量   9.1.2 转义...

    数据结构与算法全集(C源代码+详细注释)

    │ ├─哈希表(哈希查找) │ │ ElemType.cpp │ │ ElemType.h │ │ HashTable.cpp │ │ HashTable.h │ │ main.cpp │ │ Records.txt │ │ │ ├─基数排序 │ │ 1.txt │ │ main.cpp │ │ SLL_RadixSort....

    mysql官方中文参考手册

    8.2. myisampack:生成压缩、只读MyISAM表 8.3. mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. ...

    MYSQL中文手册

    8.2. myisampack:生成压缩、只读MyISAM表 8.3. mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5...

    MySQL 5.1参考手册中文版

    8.2. myisampack:生成压缩、只读MyISAM表 8.3. mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5....

Global site tag (gtag.js) - Google Analytics