From: Mike Stok Date: 2011-02-07T21:20:55+09:00 Subject: Re: making hash key from arrays -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Feb 7, 2011, at 7:12 AM, Arihan Sinha wrote: > Thanks for this but I am getting like > > [[300, 1], [300, 2], [301, 1], [301, 3], [301, 4], [302, 3], [302, 4]] > > but I actually need like > > hsh = {"300" =>["1","2"],"301" => ["1","3","4"],"302"=>["3","4"]} > > any help In ruby 1.9's irb: ratdog:~ mike$ irb >> keys = [300,300,301,301,301,302,302] => [300, 300, 301, 301, 301, 302, 302] >> values = [1, 2, 1, 3, 4, 3, 4] => [1, 2, 1, 3, 4, 3, 4] >> hsh = Hash.new{ |h, k| h[k] = [] } => {} >> keys.zip(values) { |k, v| hsh[k] << v } => nil >> hsh => {300=>[1, 2], 301=>[1, 3, 4], 302=>[3, 4]} Mike - -- Mike Stok http://www.stok.ca/~mike/ The "`Stok' disclaimers" apply. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (Darwin) iEYEARECAAYFAk1P434ACgkQnsTBwAWZE9q80gCdEdw+bHUgGBNYGKYt4VmHg72R cI4An0go3pXoDATGibvDOPQO5QdNCRa/ =5+ET -----END PGP SIGNATURE-----