値のペアの配列(リスト)から連想配列を生成するには (toMap)

値のペアの配列(リスト)から連想配列(マップ/ハッシュ/ディクショナリ)を生成する方法。

[["a", 1], ["b", 2], ["c", 3]] というような配列の配列から {"a": 1, "c": 3, "b": 2} というような連想配列への変換である。もしくは ["a", 1, "b", 2, "c", 3] というような長さが偶数の配列から連想配列への変換である。

Scala

タプルのリストをマップに変換する方法。

val list = List(("a", 1), ("b", 2));
list.toMap; // => Map("a" -> 1, "b" -> 2)

Signature:

Python

dict関数に長さ2のタプルのリストを与えるとディクショナリになる。タプルでなくて長さ2のリストのリストでもよい。

# タプルのリスト
lst = [('a', 1), ('b', 2), ('c', 3)]
dic = dict(lst)

print(dic)
# => {'a': 1, 'c': 3, 'b': 2}
# ディクショナリにはエントリの順序が保存されないので、lstと同じとは限らない

# リストのリスト
lst = [['a', 1], ['b', 2], ['c', 3]]
dic = dict(lst)

print(dic)
# => {'a': 1, 'c': 3, 'b': 2}

Ruby

長さが偶数の配列をハッシュに変換する例

arr = ['a', 1, 'b', 2]
Hash[*arr] # {'a' => 1, 'b' => 2}

長さ2の配列を要素とする配列をハッシュに変換する例 (flattenを使って長さが偶数の配列にする)

arr = [['a', 1], ['b', 2]]
Hash[*arr.flatten(1)] # {"a"=>1, "b"=>2}

Perl

偶数個の要素を持つ配列をハッシュに変換する方法。単にハッシュに代入すればいいだけ。

my @arr = ('a', 'abc', 'd', 'def');
my %map = @arr;
print $map{d};
# => def
このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。
スポンサーリンク