ruby 数组 Hash相互转换
2013-07-29 10:00
381 查看
由[索引, 值, ...] 型的数组变为哈希表
由索引和值配对出现的数组变为哈希表
由索引数组和值数组配对生成哈希表(version 1.7 以后)
虽然索引和值都是数组,但还是无法使用(2)或(3)的方法时,只好老老实实地赋值了
参考链接:http://www.kuqin.com/rubycndocument/man/built-in-class/class_object_hash.html
ary = [1,"a", 2,"b", 3,"c"] p Hash[*ary] # => {1=>"a", 2=>"b", 3=>"c"}
由索引和值配对出现的数组变为哈希表
alist = [[1,"a"], [2,"b"], [3,"c"]] p Hash[*alist.flatten] #=> {1=>"a", 2=>"b", 3=>"c"}
由索引数组和值数组配对生成哈希表(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"}
虽然索引和值都是数组,但还是无法使用(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"]}
参考链接:http://www.kuqin.com/rubycndocument/man/built-in-class/class_object_hash.html
相关文章推荐
- ruby中将数组转换成hash
- list和数组的相互转换
- JavaScript十六进制字符串和字节数组相互转换
- PHP与javascript数组相互转换
- java中int、long与byte数组相互转换
- js数组与字符串的相互转换方法
- JAVA List与数组间相互转换
- list,set,map,数组间的相互转换
- JAVA IO流实现字节数组与任何基本类型和引用类型的相互转换
- NSdata 与 NSString,Byte数组,UIImage 的相互转换
- C#基础数据类型与字节数组(内存中的数据格式)相互转换(BitConverter 类)
- java中数组与List相互转换的方法
- Objective-C中NSdata与NSString、Byte数组、UIImage 的相互转换
- List、Set、Map、数组之间相互转换
- Java List, Set, Map, 数组间的相互转换
- Java 数组、List、Set、Map相互转换
- 整型int和字符数组byte相互转换的源程序
- NSData 与 NSString,Byte数组,UIImage 的相互转换
- 字符串字符数组和基本类型的相互转换
- list,set,map,数组间的相互转换