美文网首页
数组和散列操作练习

数组和散列操作练习

作者: 稻草人_b788 | 来源:发表于2018-02-02 21:48 被阅读16次

一、问题:

first_class = ['rails', 'ruby', 'l love ruby', {:a=>1,:b=>2,:c=>3,:d=>[6,7,8] }]
要求从first_class中拿出 ‘l love ruby’ 和 数组 [6,7,8]

二、解决思路:

可以看出上面的first_class是一个数组,其中的元素有字符串,也有散列,而"l love ruby"是数组的元素,数组[6,7,8]则是散列的value。
由此确定我们要捞出数组中"l love ruby"这个数组元素,以及数组元素{:a=>1,:b=>2,:c=>3,:d=>[6,7,8] }中的[6,7,8]这个value。
具体思路如下:
1.要捞出数组中的元素,可以用下标的方式访问,下标是从0开始
2.要捞出散列中的value值,可以通过使用key
3.对散列使用.values可以回传一个数组,通过回传的数组也可捞到想要的value值

三、操作过程:

进入终端,执行以下命令:
1.捞出"I love ruby"
终端执行:

first_class[2]

根据数组的数组长度特性
也可以执行:

first_class[-2]

同样可以捞出"I love ruby"

2.捞出散列{:a=>1,:b=>2,:c=>3,:d=>[6,7,8] }
终端执行:

first_class[3]

first_class[-1]

均可以捞出散列{:a=>1,:b=>2,:c=>3,:d=>[6,7,8] }

3.捞出散列{:a=>1,:b=>2,:c=>3,:d=>[6,7,8] }中的[6,7,8]
终端执行以下命令都可以获得[6,7,8]:
方案一:使用数组特性获得[6,7,8]
(1)

first_class[3].values[3]

(2)

first_class[3].values[-1]

(3)

first_class[-1].values[3]

(4)

first_class[-1].values[-1]

方案2使用散列的key值获取value值[6,7,8]
(1)

first_class[3][:d]

(2)

first_class[-1][:d]

相关文章

  • 数组和散列操作练习

    一、问题: first_class = ['rails', 'ruby', 'l love ruby', {:a=...

  • 【perl】foreach控制结构

    操作对象:一个数组或散列 作用:利用控制结构读取数组或散列中的元素 for控制结构 语法for(初始化式;条件;表...

  • C++编写算法(八)——散列表

    散列表是数组的拓展,能够处理更加复杂的类型的键,需要使用算术运算操作将键转化为数组的索引来访问数组中的键值对。散列...

  • 散列表算法

    散列表算法又称为Hash list(哈希表)。散列表由散列函数和一个数组组成。通过像散列函数输入一个值,散列函数返...

  • 查找(散列表)

    定义 散列表通过算术操作将键转化为数组的索引来访问数组中的键值对。散列表的查找算法分两步: 用散列函数将被查找的键...

  • 散列表

    散列表利用数组下标随机访问元素的特点。散列函数:将键值映射到散列值的函数。 返回非负整数(作为数组下标); key...

  • Lua之table新增整数键值

    lua表分为数组和散列表部分,数组部分从 1 开始作为第一个索引,散列表部分要求键值不能为 nil。因为表包括散列...

  • 哈希(hash)(散列)算法

    [toc] 散列算法 散列函数 正整数 将整数散列使用的方法是 除留余数法 。 选择大小为 素数 M的数组,对于任...

  • 数据结构:散列

    散列函数 将key转换成数组索引的函数 散列函数采用Mod方式时,用素数作为TableSize能减少碰撞 散列函数...

  • 《iOS面试题整理》 - 哈希表

    哈希表, 也叫散列表, 是数组的一种扩展把关键字或者键转换为数组下标的方法叫做散列函数散列函数计算得到的值也叫做散...

网友评论

      本文标题:数组和散列操作练习

      本文链接:https://www.haomeiwen.com/subject/ukoezxtx.html